Merge pull request #443 from alexarchambault/topic/foo

Various changes
This commit is contained in:
Alexandre Archambault 2017-02-28 16:08:31 +01:00 committed by GitHub
commit 991b60ddbc
6 changed files with 76 additions and 14 deletions

View File

@ -12,11 +12,22 @@ lazy val scalazVersion = "7.2.8"
lazy val core = crossProject
.settings(commonSettings)
.settings(mimaPreviousArtifactSettings)
.jvmConfigure(_
.enablePlugins(_root_.coursier.ShadingPlugin)
)
.jvmSettings(
shadingNamespace := "coursier.shaded",
libraryDependencies += "com.lihaoyi" %% "fastparse" % "0.4.2" % "shaded",
publish := publish.in(Shading).value,
publishLocal := publishLocal.in(Shading).value
)
.jsSettings(
libraryDependencies += "com.lihaoyi" %%% "fastparse" % "0.4.2"
)
.settings(
name := "coursier",
libraryDependencies ++= Seq(
"org.scalaz" %%% "scalaz-core" % scalazVersion,
"com.lihaoyi" %%% "fastparse" % "0.4.2"
"org.scalaz" %%% "scalaz-core" % scalazVersion
),
mimaBinaryIssueFilters ++= {
import com.typesafe.tools.mima.core._
@ -216,7 +227,8 @@ lazy val cli = project
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}"
"-keep class coursier.cli.IsolatedClassLoader {\n public java.lang.String[] getIsolationTargets();\n}",
"-adaptresourcefilenames **.properties"
),
javaOptions in (Proguard, ProguardKeys.proguard) := Seq("-Xmx3172M"),
artifactPath in Proguard := (ProguardKeys.proguardDirectory in Proguard).value / "coursier-standalone.jar",
@ -375,13 +387,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

@ -3,7 +3,33 @@ addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.14")
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-1")
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
// temporary, until sbt-shading 1.0.0-M15-3 (that will pull a fine jarjar version)
resolvers += Resolver.mavenLocal
libraryDependencies += {
def jarjarVersion = {
val coursierJarjarVersion = "1.0.1-coursier-SNAPSHOT"
val fallbackJarjarVersion = "1.0.0"
def coursierJarjarFoundInM2 = (file(sys.props("user.home")) / s".m2/repository/org/anarres/jarjar/jarjar-core/$coursierJarjarVersion").exists()
if (sys.env.contains("CI") || coursierJarjarFoundInM2)
coursierJarjarVersion
else {
scala.Console.err.println(
"Ad hoc jarjar version not found. Run\n" +
" git clone https://github.com/alexarchambault/jarjar.git && cd jarjar && git checkout 249c8dbb970f8 && ./gradlew install\n" +
s"to install it. Using version $fallbackJarjarVersion, that doesn't properly\n" +
"shade Scala JARs."
)
fallbackJarjarVersion
}
}
"org.anarres.jarjar" % "jarjar-core" % jarjarVersion
}

View File

@ -1 +1 @@
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15-1")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M15-2")

View File

@ -1,7 +1,8 @@
sbt.version=0.13.8
plugins = [
"io.get-coursier:sbt-coursier:1.0.0-M15-1"
"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"
@ -13,4 +14,5 @@ plugins = [
dependencies = [
"org.scala-sbt:scripted-plugin:"${sbt.version}
"org.anarres.jarjar:jarjar-core:1.0.1-coursier-SNAPSHOT"
]

View File

@ -67,7 +67,6 @@ runSbtCoursierTests() {
}
runSbtShadingTests() {
setupCustomJarjar
sbt ++$SCALA_VERSION sbt-coursier/publishLocal sbt-shading/scripted
}
@ -144,6 +143,8 @@ publish() {
# TODO Add coverage once https://github.com/scoverage/sbt-scoverage/issues/111 is fixed
setupCustomJarjar
setupCoursierBinDir
downloadInstallSbtExtras

View File

@ -1,6 +1,3 @@
com.lihaoyi:fastparse-utils_2.11:0.4.2:default
com.lihaoyi:fastparse_2.11:0.4.2:default
com.lihaoyi:sourcecode_2.11:0.1.3:default
io.get-coursier:coursier_2.11:1.0.0-SNAPSHOT:compile
org.jsoup:jsoup:1.10.2:default
org.scala-lang:scala-library:2.11.8:default