繁体   English   中英

如何使用sbt-native-packager将参数传递给覆盖的脚本?

[英]How to pass parameters to overridden scripts with sbt-native-packager?

我正在使用sbt-native-packager构建RPM。 我有一个预安装和安装后一些自定义的脚本描述这里 有没有办法从sbt将参数传递给这些脚本?

谢谢

@mgosk感谢您的想法。 我在这里添加评论以进行格式化。

我似乎无法使其工作。 这是在我的sbt文件中:

val appName = "myApp" + packageSuffix
bashScriptExtraDefines += s"appName=$appName"

这是我的脚本:

${{template_declares}}
#start (or restart) the service
/etc/init.d/$appName restart

这是rpm规范中生成的内容:

${{template_declares}}
#start (or restart) the service
/etc/init.d/$appName restart

这是完全一样的。 无替代。 我想念什么吗?

首先,您需要在build.sbt定义额外的变量:

bashScriptExtraDefines += s"""FOO=${sbtVariableHere}"""

接下来,将${{template_declares}}行添加到您的Shell脚本中。 本机打包程序模板解析器在此处插入您先前定义的bashScriptDefinesbashScriptExtraDefines

那里您有更多信息:

http://www.scala-sbt.org/sbt-native-packager/archetypes/cheatsheet.html#bash-script-src-templates-bash-template

http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/customize.html#more-complex-scripts

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM