4

我正试图通过侧门将SBT带入我的组织。我们将TeamCity用于我们的持续集成系统,所有项目都使用Maven构建。我开始更喜欢 SBT 来构建 Scala 和混合 Scala/Java 项目,但是如果我要求我们的基础设施团队修改持续集成系统以支持 SBT,我会遇到阻力。

我正在寻找一种方法来pom.xml在我的项目的根目录中提供一个最小文件,然后调用 SBT 来进行实际构建。有没有办法做到这一点,也许使用 Maven-to-SBT 插件?

4

1 回答 1

2

我不喜欢反对基础设施,因为我在目前的工作中担任类似的角色。

但是,您可以做的是下载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进行了测试

希望能帮助到你。

于 2013-09-24T00:46:49.163 回答