添加插件的插件依赖性作为用户的插件依赖性

时间:2018-02-05 12:49:27

标签: plugins sbt

我正在创建一个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。但是我想避免两次声明依赖。我能做得更好吗?

1 个答案:

答案 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