我正试图通过侧门将SBT带入我的组织。我们将TeamCity用于我们的持续集成系统,所有项目都使用Maven构建。我开始更喜欢 SBT 来构建 Scala 和混合 Scala/Java 项目,但是如果我要求我们的基础设施团队修改持续集成系统以支持 SBT,我会遇到阻力。
我正在寻找一种方法来pom.xml
在我的项目的根目录中提供一个最小文件,然后调用 SBT 来进行实际构建。有没有办法做到这一点,也许使用 Maven-to-SBT 插件?
我不喜欢反对基础设施,因为我在目前的工作中担任类似的角色。
但是,您可以做的是下载sbt-launch.jar
并将其放在build
源代码控制存储库中的目录中。然后在该文件夹中创建一个sbt
文件,build
其中包含以下内容:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"
然后创建执行以下操作的命令行构建步骤:
sh build/sbt clean compile
这应该给你你想要的,这假设你有能力设置你自己的构建步骤来运行这个自定义脚本。
我没有对此进行测试,并根据sbt Setup Documentation进行了测试
希望能帮助到你。