Shade jarjar into sbt-shading

This commit is contained in:
Alexandre Archambault 2017-02-28 13:55:06 +01:00
parent d0bcc77d25
commit ab319b164f
3 changed files with 30 additions and 4 deletions

View File

@ -376,13 +376,37 @@ lazy val `sbt-coursier` = project
// Don't try to compile that if you're not in 2.10
lazy val `sbt-shading` = project
.enablePlugins(_root_.coursier.ShadingPlugin)
.dependsOn(`sbt-coursier`)
.settings(pluginSettings)
.settings(
// Warning: this version doesn't handle well class names with '$'s
// (so basically any Scala library)
// See https://github.com/shevek/jarjar/pull/4
libraryDependencies += "org.anarres.jarjar" % "jarjar-core" % "1.0.0"
shadingNamespace := "coursier.shaded",
resolvers += Resolver.mavenLocal,
libraryDependencies += {
val coursierJarjarVersion = "1.0.1-coursier-SNAPSHOT"
def coursierJarjarFoundInM2 = (file(sys.props("user.home")) / s".m2/repository/org/anarres/jarjar/jarjar-core/$coursierJarjarVersion").exists()
val jarjarVersion =
if (sys.env.contains("CI") || coursierJarjarFoundInM2 || !isSnapshot.value)
coursierJarjarVersion
else {
val fallback = "1.0.0"
// streams.value.log.warn( // "a setting cannot depend on a task"
scala.Console.err.println(
s"""Warning: using jarjar $fallback, which doesn't properly shade Scala JARs (classes with '$$' aren't shaded).
|See the instructions around
|https://github.com/alexarchambault/coursier/blob/630a780487d662dd994ed1c3246895a22c00cf21/scripts/travis.sh#L40
|to use a version fine with Scala JARs.""".stripMargin
)
fallback
}
"org.anarres.jarjar" % "jarjar-core" % jarjarVersion % "shaded"
},
publish := publish.in(Shading).value,
publishLocal := publishLocal.in(Shading).value
)
lazy val `sbt-launcher` = project

View File

@ -4,6 +4,7 @@ addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.4.0")
addSbtPlugin("org.tpolecat" % "tut-plugin" % "0.4.8")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15-2")
addSbtPlugin("io.get-coursier" % "sbt-shading" % "1.0.0-M15-2")
addSbtPlugin("com.typesafe.sbt" % "sbt-proguard" % "0.2.2")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.13")
libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value

View File

@ -2,6 +2,7 @@ sbt.version=0.13.8
plugins = [
"io.get-coursier:sbt-coursier:1.0.0-M15-2"
"io.get-coursier:sbt-shading:1.0.0-M15-2"
"org.xerial.sbt:sbt-pack:0.8.2"
"org.scala-js:sbt-scalajs:0.6.14"
"com.jsuereth:sbt-pgp:1.0.0"