我有一个play(java)多模块项目,我想要将一个模块打包两次但是使用不同的类集。
所以我的树看起来像这样
projectA
|
|- modele_1
| |-- build.sbt
| |-- app
| |
| |- com.package.one --> package this as one.jar
| |- com.package.two
|
|
|- modeule_2
|
|- build.sbt
我想从module_1
创建两个罐子。其中一个jar将被称为one.jar
,并且只包含来自包com.package.one
的文件,另一个将包含所有内容,包括one.jar
包。
我尝试在module_1/build.sbt
中创建一个自定义编译插件,但它似乎无法正常工作
lazy val PluginApi = config("pluginApi").extend(Compile)
inConfig(PluginApi)(Defaults.compileSettings)
mappings in (PluginApi, packageBin) := {
val original = (mappings in (PluginApi, packageBin)).value
original.filter { case (file, toPath) => toPath.startsWith("com/package/one/") }
}
unmanagedSourceDirectories in PluginApi := (unmanagedSourceDirectories in Compile).value