【发布时间】:2014-01-02 00:40:49
【问题描述】:
我正在尝试使用安装在自定义目录中的 sbt-native-packager 构建一个 rpm 包,例如 /opt/myapp 而不是 /usr - 由于内部政策要求。
我有一个 build.sbt 可以构建一个标准的 rpm,但是在修改目录时我很难过。抱歉——我对 scala、sbt 和本地 pacakger 还很陌生。
我正在使用 mapGenericFilesToLinux 并希望保留其结构 - 只需修改目标目录的第一部分。
我在 git hub 问题 https://github.com/sbt/sbt-native-packager/issues/4#issuecomment-6731183 中找到了这个代码片段
linuxPackageMappings <+= target map { target =>
val src = target / "webapp"
val dest = "/opt/app"
LinuxPackageMapping(
for {
path <- (src ***).get
if !path.isDirectory
} yield path -> path.toString.replaceFirst(src.toString, dest)
)
}
我相信我想做一些类似的事情,除了
linuxPackageMappings in Rpm <++= <SOMETHING HERE> {
// for loop that steps through the source and destination and modifies the directory
}
提前感谢您的帮助
再见 帕姆
【问题讨论】:
-
sbt 0.12 还是 0.13?如果为 0.13,只需在键上使用
++=和新的.value。否则,我会回复完整的答案。 -
感谢您的回答。它是 sbt 版本 0.12.4,它被用作游戏框架 (v2.2.0) 的一部分。
标签: scala sbt rpm sbt-native-packager