设置一个键local.sbt,以便在多项目中应用
Setting a key local.sbt so that it is applied in a multi-project
如何在 local.sbt
中设置密钥以使每个子项目都能找到它?
我正在尝试在多项目中使用 Coursier 插件,但由于我正在测试它,所以我尽量不在我们的 git 存储库中签入它。
所以我把它放在我的 project/local.sbt
中,我试图在 local.sbt
中设置 coursierUseSbtCredentials := true
。
这没有明显的效果。
经过身份验证的联系在我的 build.sbt
中的 commonSettings
val 中定义
val commonSettings = Seq(
...
resolvers += "my-nexus" at "http://blah",
credentials += ...
)
每个子项目与 .settings(commonSettings)
一起使用(根据最佳实践指南)
如果我将 coursierUseSbtCredentials := true
放在 commonSettings
中它确实有效,但我必须将它添加到我的 build.sbt
中,我宁愿不这样做做。
如何设置此键值以便每个子项目都可以看到它 和 并且它在 build.sbt
文件之外? (例如 local.sbt
?)
在 project/SetupCoursierPlugin.scala
创建一个本地插件:
import sbt._
import coursier.CoursierPlugin, CoursierPlugin.autoImport._
object SetupCoursierPlugin extends AutoPlugin {
override def requires = CoursierPlugin
override def trigger = allRequirements
override def projectSettings = Seq(
coursierUseSbtCredentials := true
)
}
如何在 local.sbt
中设置密钥以使每个子项目都能找到它?
我正在尝试在多项目中使用 Coursier 插件,但由于我正在测试它,所以我尽量不在我们的 git 存储库中签入它。
所以我把它放在我的 project/local.sbt
中,我试图在 local.sbt
中设置 coursierUseSbtCredentials := true
。
这没有明显的效果。
经过身份验证的联系在我的 build.sbt
中的commonSettings
val 中定义val commonSettings = Seq( ... resolvers += "my-nexus" at "http://blah", credentials += ... )
每个子项目与
.settings(commonSettings)
一起使用(根据最佳实践指南)如果我将
coursierUseSbtCredentials := true
放在commonSettings
中它确实有效,但我必须将它添加到我的build.sbt
中,我宁愿不这样做做。
如何设置此键值以便每个子项目都可以看到它 和 并且它在 build.sbt
文件之外? (例如 local.sbt
?)
在 project/SetupCoursierPlugin.scala
创建一个本地插件:
import sbt._
import coursier.CoursierPlugin, CoursierPlugin.autoImport._
object SetupCoursierPlugin extends AutoPlugin {
override def requires = CoursierPlugin
override def trigger = allRequirements
override def projectSettings = Seq(
coursierUseSbtCredentials := true
)
}