我试图通过侧门将SBT带入我的组织。我们使用TeamCity作为我们的持续集成系统,使用Maven构建的所有项目。我开始更喜欢使用SBT构建Scala和混合Scala / Java项目,但如果我要求我们的基础架构组修改持续集成系统以支持SBT,我将会遇到阻力。
我正在寻找一种在项目根目录中提供最小pom.xml
文件的方法,然后调用SBT来进行实际构建。有没有办法做到这一点,也许是使用Maven-to-SBT插件?
答案 0 :(得分: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
进行了测试希望它有所帮助。