From 78feabcec0a6cb62548ad3b3340dbac450109901 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Sun, 4 Sep 2011 19:40:29 +0200 Subject: Modified SBT files. Added proguard plugin. Added 'demo' task. --- build.sbt | 9 ------- project/build.scala | 62 +++++++++++++++++++++++++++++++++++++++++++++++ project/plugins/build.sbt | 5 ++++ 3 files changed, 67 insertions(+), 9 deletions(-) delete mode 100644 build.sbt create mode 100644 project/build.scala diff --git a/build.sbt b/build.sbt deleted file mode 100644 index 4889d62..0000000 --- a/build.sbt +++ /dev/null @@ -1,9 +0,0 @@ -name := "SiMS2" - -normalizedName := "sims2" - -version := "2.0" - -scalaVersion := "2.9.0-1" - -libraryDependencies += "org.scalatest" % "scalatest_2.9.0" % "1.6.1" 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 ;}" + ) + ) + + + + lazy val project = Project ( + "sims2", + file ("."), + settings = projectSettings ++ demoTask ++ demoFastTask ++ ProguardPlugin.proguardSettings + ) +} \ No newline at end of file diff --git a/project/plugins/build.sbt b/project/plugins/build.sbt index 843a85f..774c4d9 100644 --- a/project/plugins/build.sbt +++ b/project/plugins/build.sbt @@ -7,3 +7,8 @@ resolvers += { libraryDependencies <<= (libraryDependencies, sbtVersion) { (deps, version) => deps :+ ("com.typesafe.sbteclipse" %% "sbteclipse" % "1.3-RC3" extra("sbtversion" -> version)) } + +resolvers += "Proguard plugin repo" at "http://siasia.github.com/maven2" + +libraryDependencies <+= sbtVersion("com.github.siasia" %% "xsbt-proguard-plugin" % _) + -- cgit v1.2.3