gpt4 book ai didi

sbt - 基于 scalaVersion 的条件 addSbtPlugin

转载 作者:行者123 更新时间:2023-12-04 14:57:31 24 4
gpt4 key购买 nike

我正在使用一个仅适用于 Scala 2.11 的插件 (sbt-scapegoat)。

我可以有一个基于 scalaVersion 的条件 addSbtPlugin 吗?喜欢:

if (scalaVersion.value.startsWith("2.11")) addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "0.94.6")

我怎样才能在 SBT 中做到这一点?

简氏

最佳答案

tl;博士 鉴于问题的描述,这是不可能的。

一个 sbt 项目至少涉及两个构建配置 - 真实项目(您想押注)和用于构建项目的元构建。是的,我知道这听起来有点奇怪,但恕我直言,这是一个非常强大的概念。

sbt is recursive :

The project directory is another build inside your build, which knows how to build your build. To distinguish the builds, we sometimes use the term proper build to refer to your build, and meta-build to refer to the build in project. The projects inside the metabuild can do anything any other project can do. Your build definition is an sbt project.



sbt 在 Scala 上运行并且需要它的严格版本。没有办法改变它,除非你想把时间花在你一开始就不应该接触的事情上:)

你可以做的是在 project/plugins.sbt中应用插件然后,在项目中,申请 设置 根据 scalaVersion 选择性地使用插件项目的构建而不是元构建本身。

答案并没有那么复杂,但解释简单的概念对我来说通常不是一件容易的事。玩得开心!如果使用得当,它会很快给你返回。

关于sbt - 基于 scalaVersion 的条件 addSbtPlugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29815817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com