使用Maven构建SBT项目

4
我正在尝试通过一扇小门将SBT引入我的组织。我们使用TeamCity作为持续集成系统,所有项目都使用Maven构建。我开始更喜欢使用SBT来构建Scala和混合Scala/Java项目,但是如果要求我们的基础设施组修改持续集成系统以支持SBT,那么我会遇到阻力。
我正在寻找一种方法,在项目的根目录中提供一个最小的pom.xml文件,然后调用SBT进行实际构建。是否有任何方法可以做到这一点,例如通过Maven-to-SBT插件?
1个回答

2
我不是反对基础设施的粉丝,因为我在目前的工作中扮演着类似的角色。
然而,你可以下载 sbt-launch.jar 并将其放置在源代码控制存储库中的 build 目录中。然后,在该 build 文件夹内创建一个名为 sbt 的文件,并添加以下内容:
#!/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安装文档来做的。
希望能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接