aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2011-09-04 19:40:29 +0200
committerJakob Odersky <jodersky@gmail.com>2011-09-04 19:40:29 +0200
commit78feabcec0a6cb62548ad3b3340dbac450109901 (patch)
treee5878a87d3fd820fd26a9380f13589a469aa8b5b
parentface833d037fa62bdfabad334d62a00eb1fbf9f7 (diff)
downloadsims2-78feabcec0a6cb62548ad3b3340dbac450109901.tar.gz
sims2-78feabcec0a6cb62548ad3b3340dbac450109901.tar.bz2
sims2-78feabcec0a6cb62548ad3b3340dbac450109901.zip
Modified SBT files.
Added proguard plugin. Added 'demo' task.
-rw-r--r--build.sbt9
-rw-r--r--project/build.scala62
-rw-r--r--project/plugins/build.sbt5
3 files changed, 67 insertions, 9 deletions
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 <methods>;}"
+ )
+ )
+
+
+
+ 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" % _)
+