homebrew-core/Formula/sbt.rb

39 lines
1.3 KiB
Ruby

require "formula"
class Sbt < Formula
homepage "http://www.scala-sbt.org"
url "http://dl.bintray.com/sbt/native-packages/sbt/0.13.6/sbt-0.13.6.tgz"
sha1 "3efd29e51751157777c4e001acc106b8737e0720"
def install
inreplace "bin/sbt" do |s|
s.gsub! 'etc_sbt_opts_file="${sbt_home}/conf/sbtopts"', "etc_sbt_opts_file=\"#{etc}/sbtopts\""
s.gsub! "/etc/sbt/sbtopts", "#{etc}/sbtopts"
end
inreplace "bin/sbt-launch-lib.bash", "${sbt_home}/bin/sbt-launch.jar", "#{libexec}/sbt-launch.jar"
libexec.install "bin/sbt", "bin/sbt-launch-lib.bash", "bin/sbt-launch.jar"
etc.install "conf/sbtopts"
(bin/"sbt").write <<-EOS.undent
#!/bin/sh
if [ -f "$HOME/.sbtconfig" ]; then
echo "Use of ~/.sbtconfig is deprecated, please migrate global settings to #{etc}/sbtopts" >&2
. "$HOME/.sbtconfig"
fi
exec "#{libexec}/sbt" "$@"
EOS
end
def caveats; <<-EOS.undent
You can use $SBT_OPTS to pass additional JVM options to SBT:
SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
This formula is now using the standard typesafe sbt launcher script.
Project specific options should be placed in .sbtopts in the root of your project.
Global settings should be placed in #{etc}/sbtopts
EOS
end
end