我有一个基本的sbt项目。我想用相同的源文件打包两个jar,但是用不同的选项进行编译。因此,一个项目,2个编译但具有不同的选项(scalacOptions)和2个jar作为输出。我不想两次执行sbt,更改选项。
有人有主意吗?
使用build.sbt中的类似内容,您可以运行sbt compile2:package并从compile config和compile2 config生成一个jar:
val Compile2 = config("compile2") extend Compile
inConfig(Compile2)(Defaults.compileSettings ++ Seq(
// these options can be set as "in Compile2" outside of inConfig as well
scalacOptions := SECOND-OPTIONS-LIST,
// otherwise it will be "src/compile2", you want it to be "src/main"
sourceDirectory <<= sourceDirectory in Compile,
sbt.Keys.`package` <<= sbt.Keys.`package` dependsOn (sbt.Keys.`package` in Compile)
))
scalacOptions in Compile := BASIC-OPTIONS-LIST
我想这在代码行方面相对简单,但是如果不非常熟悉sbt的话,就不会那么简单了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句