我正在创建一个SBT插件,用于我公司的所有Scala项目。它是常用SBT插件的集合,可以在任何地方共享通用配置。我的插件使用例如sbt-release
:配置凭据,设置发布过程,默认发布存储库等。所以我将其添加为插件依赖
project/plugins.sbt
:
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.7")
但是,我想将此插件公开给我的用户,以便他们可以致电sbt release
。目前我有以下代码:
build.sbt
sbtPlugin := true
/* common release configuration code */
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.7")
如果我删除最后一行,我的用户就无法拨打sbt release
。但是我想避免两次声明依赖。我能做得更好吗?
答案 0 :(得分:1)
我采用了不同的方法,因为配置甚至没有以这种方式应用,它也解决了重复问题。我为插件创建了Scala文件而不是sbt文件,并在try
中包含了所需的插件依赖项。这样,您根本无需将其添加到build.sbt
。
示例:
project/plugins.sbt
build.sbt
sbtPlugin := true
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.7")
src/main/scala/mycompany/MyReleaseConfigPlugin.scala