扩展 sbt-native-packager (Docker)

Extending sbt-native-packager (Docker)

我在使用 sbt-native-packager 的 Docker 模块时遇到问题。它使用(可覆盖的)bash 模板,但此模板有 ${{template_declares}} 将一些重要的项目信息替换到 bash 文件中。

我的问题是我无法使用 bash--我正在使用使用 ash 的 busybox。 sbt 生成的一些东西与 ash 不兼容。具体来说,为 ${{template_declares}} 添加的代码不兼容,我需要让它生成一些不同的东西。

我看到预定义了 Windows 和 bash "generators"。如何制作修改bash版本的灰生成器?

我当然可以克隆 repo 并制作灰生成器,但我希望扩展而不是克隆。我从来没有扩展过 sbt 插件。这是怎么做到的?

所以问题是 bash-script 不兼容,因为 busy-box 需要 ash 个脚本。

你可以简单地override the startscript。把内容放到

下的文件里就行了
src/templates/bash-template

并编写您自己的启动脚本。

自 OP 首次提出问题以来,情况发生了变化。还有一个 AshScriptPlugin 更适合 Docker 容器 运行 alpine。

enablePlugin(AshScriptPlugin)

您可以在 current docs

中找到更多信息