diff --git a/build.sbt b/build.sbt index 3fd808f3c..a7d28fc97 100644 --- a/build.sbt +++ b/build.sbt @@ -219,6 +219,7 @@ lazy val cli = project .settings(commonSettings) .settings(noPublish210Settings) .settings(packAutoSettings) + .settings(proguardSettings) .settings( name := "coursier-cli", libraryDependencies ++= { @@ -229,7 +230,15 @@ lazy val cli = project }, resourceGenerators in Compile += packageBin.in(bootstrap).in(Compile).map { jar => Seq(jar) - }.taskValue + }.taskValue, + ProguardKeys.proguardVersion in Proguard := "5.2.1", + ProguardKeys.options in Proguard ++= Seq( + "-dontwarn", + "-keep class coursier.cli.Coursier {\n public static void main(java.lang.String[]);\n}", + "-keep class coursier.cli.IsolatedClassLoader {\n public java.lang.String[] getIsolationTargets();\n}" + ), + javaOptions in (Proguard, ProguardKeys.proguard) := Seq("-Xmx3172M"), + artifactPath in Proguard := (ProguardKeys.proguardDirectory in Proguard).value / "coursier-standalone.jar" ) lazy val web = project diff --git a/project/plugins.sbt b/project/plugins.sbt index 0d8c0281b..3e1a804b9 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -4,3 +4,4 @@ addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.1.0") addSbtPlugin("org.tpolecat" % "tut-plugin" % "0.4.0") addSbtPlugin("com.github.alexarchambault" % "coursier-sbt-plugin" % "1.0.0-M4") +addSbtPlugin("com.typesafe.sbt" % "sbt-proguard" % "0.2.2")