diff options
Diffstat (limited to 'project/build.scala')
-rw-r--r-- | project/build.scala | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/project/build.scala b/project/build.scala new file mode 100644 index 0000000..932fad8 --- /dev/null +++ b/project/build.scala @@ -0,0 +1,62 @@ +import sbt._ +import Keys._ + +object SiMS2 extends Build { + + val projectSettings = Defaults.defaultSettings ++ Seq( + name := "SiMS2", + normalizedName := "sims2", + version := "2.0", + scalaVersion := "2.9.1", + libraryDependencies += "org.scalatest" % "scalatest_2.9.0" % "1.6.1" + ) + + def createDemoTask(t: TaskKey[Unit]) = fullRunTask(t, Test, "sims.test.gui.Main") + val demo = TaskKey[Unit]("demo", "Runs the demo.") + val demoFast = TaskKey[Unit]("demo-fast", "Runs the demo with performance increasing jvm options.") + + val demoTask = Seq(createDemoTask(demo), fork in demo := true) + val demoFastTask = Seq(createDemoTask(demoFast), fork in demoFast := true, javaOptions in demoFast ++= + List( + "-server", + "-Xms256m", + "-Xmx1024m", + "-Xss1M", + "-XX:MaxPermSize=256m", + "-XX:+AggressiveOpts", + "-XX:-UseParallelGC", + "-XX:+DoEscapeAnalysis", + "-XX:+UseConcMarkSweepGC" + ) + ) + + val projectProguardSettings = Seq( + ProguardPlugin.proguardInJars += + ProguardPlugin.proguardOptions ++= + Seq( + "-dontobfuscate", + "-dontnote", + "-dontwarn", + "-dontoptimize", + + "-keep class sims.**", + "-keep class processing.core.*", + "-keepclasseswithmembers public class * {public sims.dynamics.Collision toPhysical();}", + + "-keepclasseswithmembers public class * {public static void main(java.lang.String[]);}", + "-keep public class * extends java.applet.Applet", + "-keepclassmembers enum * {public static **[] values(); public static ** valueOf(java.lang.String);}", + "-keep class * extends java.sql.Driver", + "-keep class * extends javax.swing.plaf.ComponentUI { public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);}", + "-keepclasseswithmembers,allowshrinking class * {native <methods>;}" + ) + ) + + + + lazy val project = Project ( + "sims2", + file ("."), + settings = projectSettings ++ demoTask ++ demoFastTask ++ ProguardPlugin.proguardSettings + ) +}
\ No newline at end of file |