我有一个使用SBT的项目设置,可以创建子项目工件。
我一直在寻找一种方法来创建一个包含子项目JAR文件以及一些元信息的JAR文件。根据建议,我查看了sbt-native-packager,它似乎具有我需要的功能。
我想知道是否有人愿意通过提供有关为插件创建框架包规范的提示来帮助我走这条路。
我认为我的配置非常简单。
我想要得到的是一个包含以下内容的JAR文件:
/manifest.xml
module.xml
modules/sub-project-one.jar
sub-project-two.jar
sub-project-three.jarmanifest.xml和module.xml文件都将从项目信息中生成。生成的JAR文件的名称将基于根项目的名称、版本和后缀"nkp.jar“(例如overlay-1.0.1.nkp.jar)。
提前感谢你的帮助,让我继续这件事。
--兰迪
发布于 2013-11-17 04:07:36
下面是你想要的基础知识:
val createManifestXml = taskKey[File]("Creates the packaged maniest.xml")
val createModuleXml = taskKey[File]("Creates the module.xml file.")
// TODO - Define createManifestXml + createModuleXml
mappings in Universal ++= {
Map(createManifestXml.value -> "manifest.xml"
module.xml -> "module.xml")
}
mappings in Universal ++= {
val moduleJars =
Seq((packageBin in subProjectOne).value,
(packageBin in subProjectTwo).value,
(packageBin in subProjectThree).value)
moduleJars map { jar =>
jar -> s"module/${jar.getName}"
}
}这将确保可以生成tgz/txz/zip。然后,您可以使用“通用”通用-> msi和通用-> rpm/deb映射,也可以根据需要手动创建该映射。
希望这能有所帮助!
https://stackoverflow.com/questions/18744844
复制相似问题