homebrew-core/Formula/sbt.rb
Noel Martin Llevares f1f732c3e1 sbt: use recommended defaults
Default brew install of `sbt` easily runs out of memory.

The addition of the flags `-Xms512M -Xmx1536M -Xss1M
-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M` can prevent this
from happening.

http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html
http://stackoverflow.com/questions/15957183/outofmemoryerror-from-sbt

Closes Homebrew/homebrew#28815.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-05-14 17:29:17 -05:00

33 lines
1 KiB
Ruby

require 'formula'
class Sbt < Formula
homepage 'http://www.scala-sbt.org'
url 'http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.2/sbt-launch.jar'
version '0.13.2'
sha1 'd3237161dc38afd796d9e84ff202f8418cff98e2'
devel do
url 'http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.5-RC2/sbt-launch.jar'
version '0.13.5-RC2'
sha1 'b1ccc5ff1f09348824c6638a4d0daa4f5f5b2ffe'
end
def install
(bin+'sbt').write <<-EOS.undent
#!/bin/sh
test -f ~/.sbtconfig && . ~/.sbtconfig
exec java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M ${SBT_OPTS} -jar #{libexec}/sbt-launch.jar "$@"
EOS
libexec.install Dir['*']
end
def caveats; <<-EOS.undent
You can use $SBT_OPTS to pass additional JVM options to SBT.
For convenience, this can be specified in `~/.sbtconfig`.
For example:
SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
EOS
end
end