4

如何以local.sbt每个子项目都能找到它的方式设置密钥?

我正在尝试在一个多项目中使用 Coursier 插件,但由于我正在测试它,我试图不在我们的 git 存储库中检查它。

所以我把它放在我的project/local.sbt,我试图设置coursierUseSbtCredentials := true在一个local.sbt. 这没有明显的效果

  • 经过身份验证的关系commonSettings在我的 build.sbt 的 val 中定义

    val commonSettings = Seq(
      ...
      resolvers += "my-nexus" at "http://blah",
      credentials += ... 
    )
    

    每个子项目都使用.settings(commonSettings)(根据最佳实践指南)

  • 如果我放入coursierUseSbtCredentials := truecommonSettings确实有效,但是我必须将它添加到 mybuild.sbt中,我宁愿不这样做。

如何设置此密钥,以便每个子项目都可以看到它,并且它在build.sbt文件外部?(例如local.sbt?)

4

1 回答 1

4

在以下位置创建本地插件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
  )
}
于 2016-10-27T11:54:07.607 回答