From 46382ab0331a930c456689b89b79dc962bafd68a Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Sat, 3 Sep 2016 16:11:46 +0200 Subject: [PATCH 1/4] tmp: Don't build akka-persistence-tck, it requires Scalactic see 9960122, which was green: https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-integrate-community-build/529/consoleFull --- common.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common.conf b/common.conf index f23078216..6a80f72cd 100644 --- a/common.conf +++ b/common.conf @@ -357,6 +357,9 @@ build += { commands: ${vars.default-commands} [ // Don't build akka-remote-tests/test scope because it requires ScalaTest 3.0 "set sources in (LocalProject(\"akka-remote-tests\"), Test) := Nil" + // Don't build akka-persistence-tck because it requires Scalactic (which comes as a dependency of ScalaTest 3.0) + "set sources in (LocalProject(\"akka-persistence-tck\"), Compile) := Nil" + "set sources in (LocalProject(\"akka-persistence-tck\"), Test) := Nil" // Don't build multi-jvm tests because they require akka-remote-tests and ScalaTest 3.0 "set sources in (LocalProject(\"akka-remote-tests\"), config(\"multi-jvm\")) := Nil" "set sources in (LocalProject(\"akka-cluster\"), config(\"multi-jvm\")) := Nil" From fc16ae9c92ff641ebda9e359cb4482643061441a Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Sat, 3 Sep 2016 16:11:32 +0200 Subject: [PATCH 2/4] Resolve prebuilt scala from maven So that we can drop ant and standardize on sbt. Set scala version using scala_ref param for now. Use set-version to avoid republishing under dbuild-mangled version. Also set-version for scala-xml (probably not needed, but why not!?) TODO: build scala-parser-combinators from source? Not needed in core. --- common.conf | 36 ++++++++++++++++++------- community.dbuild | 70 ++++++++++++++++++++---------------------------- 2 files changed, 56 insertions(+), 50 deletions(-) diff --git a/common.conf b/common.conf index 6a80f72cd..b4ff66464 100644 --- a/common.conf +++ b/common.conf @@ -38,8 +38,14 @@ // TODO: submit PRs to upstream where possible to avoid forks (grep for adriaanm/) // TODO: update to latest where possible vars: { - scala-ref : "scala/scala.git#2.12.x" - scala-ref : ${?scala_ref} // allow overriding scala-ref using the scala_ref environment variable + scala-version : "2.12.0-50462a4-nightly" + scala-version : ${?scala_ref} // TODO: change param name in jenkins job -- allow overriding scala-version using the scala_version environment variable + scala-binary-version : "2.12.0-50462a4-nightly" + scala-binary-version : ${?scala_binary_version} + scala-xml-version : "1.0.5" + scala-xml-version : ${?scala_xml_version} + scala-parser-combinators-version : "1.0.4" + scala-parser-combinators-version : ${?scala_parser_combinators_version} // TODO: merge required changes upstream to get rid of our forks, maintaining our one won't scale browse-ref : "SethTisue/browse.git#topic/2.11-compat" @@ -191,6 +197,8 @@ options.resolvers: { 03: "dbuild-ivy: https://scala-ci.typesafe.com/artifactory/dbuild-ivy/"${vars.ivyPat} 04: "dbuild-unchecked: https://scala-ci.typesafe.com/artifactory/dbuild-unchecked/" // for sbt plugins not available on ivy (they'll fail the pom check on the `dbuild` cache repo above) + 05: "scala-pr-validation-snapshots: https://scala-ci.typesafe.com/artifactory/scala-pr-validation-snapshots" + // for scala/scala#5003 20: "private-repo: https://scala-ci.typesafe.com/artifactory/scala-release-temp/" } @@ -210,7 +218,7 @@ options.cleanup: { // Topological sort of projects: // No deps: browse, slick, genjavadoc-plugin, scala-js, scala-swing, scala-partest-interface, async, scalacheck, shapeless, scala-java8-compat // -// *depends* on scalacheck: scalaz, sbinary, scala-partest, scalatest +// *depends* on scalacheck: scalaz, sbinary, scalatest // *depends* on scalatest: scodec-bits, scala-records, genjavadoc, scala-stm // // scalaz-stream depends on: scalacheck, scalatest, scalaz, scodec-bits @@ -220,7 +228,7 @@ build += { cross-version: [ disabled, standard ] space.from: default space.to: [ default, specs2_36, specs2_24 ] - extraction-version: "2.12.0-M5" + extraction-version: ${vars.scala-version} sbt-version: ${vars.sbt-version} projects: [ @@ -230,6 +238,16 @@ build += { uri: "https://github.com/"${vars.scala-partest-interface-ref} } + ${vars.base} { + name: "scala-partest" + uri: "https://github.com/"${vars.scala-partest-ref} + } + + ${vars.base} { + name: "scala-swing" + uri: "https://github.com/"${vars.scala-swing-ref} + } + // // Community projects (not from Typesafe), and other support libraries: // these should be stable releases, pre-releases, or branches aimed @@ -517,7 +535,7 @@ build += { cross-version: [ disabled, standard ] space.from: specs2_24 space.to: [ specs2_24 ] - extraction-version: "2.12.0-M5" + extraction-version: ${vars.scala-version} sbt-version: ${vars.sbt-version} projects: [ @@ -580,7 +598,7 @@ build += { cross-version: [ disabled, standard ] space.from: specs2_36 space.to: [ specs2_36 ] - extraction-version: "2.12.0-M5" + extraction-version: ${vars.scala-version} sbt-version: ${vars.sbt-version} projects: [ ${vars.base} { @@ -612,7 +630,7 @@ build += { cross-version: [ disabled, standard ] space.from: specs2_36 space.to: [ play, specs2_36 ] - extraction-version: "2.12.0-M5" + extraction-version: ${vars.scala-version} sbt-version: ${vars.sbt-version} projects: [ @@ -730,7 +748,7 @@ build += { cross-version: [ disabled, standard ] space.from: specs2_24 space.to: [ ensime ] - extraction-version: "2.12.0-M5" + extraction-version: ${vars.scala-version} sbt-version: ${vars.sbt-version} projects: [ @@ -863,7 +881,7 @@ build += { cross-version: [ disabled, standard ] space.from: specs2_24 space.to: [ spire ] - extraction-version: "2.12.0-M5" + extraction-version: ${vars.scala-version} sbt-version: ${vars.sbt-version} projects: [ diff --git a/community.dbuild b/community.dbuild index 80ed28a54..dd58b7d0e 100644 --- a/community.dbuild +++ b/community.dbuild @@ -13,67 +13,55 @@ include file("common.conf") // And the generation of the artifacts more closely related to the Scala compiler. // build += { - extraction-version: "2.12.0-M5" - cross-version: disabled sbt-version: ${vars.sbt-version} + extraction-version: ${vars.scala-version} + cross-version: disabled space.from: default space.to: [ default, specs2_36, specs2_24 ] + projects: [ // Scala 2.12.x { name: "scala", system: assemble - extra.parts: { - cross-version: standard - sbt-version: ${vars.sbt-version} - extraction-version: "2.12.0-M5" - cross-version: disabled - } extra.parts.projects: [ { - system: "scala" - name: "scala" - uri: "https://github.com/"${vars.scala-ref} - // skip docs to speed up the build - extra.build-options: ["-Ddocs.skip=1", ${vars.scala-build-bootstrap-opt}, ${vars.scala-build-extra-opt}] + set-version: ${vars.scala-version} + name: scala-library + system: aether + uri: "aether:org.scala-lang#scala-library;"${vars.scala-version} + } + { + set-version: ${vars.scala-version} + name: scala-reflect + system: aether + uri: "aether:org.scala-lang#scala-reflect;"${vars.scala-version} + } + { + set-version: ${vars.scala-version} + name: scala-compiler + system: aether + uri: "aether:org.scala-lang#scala-compiler;"${vars.scala-version} } - // override scalaVersion in the modules since otherwise we get - // whatever random Scala version the module has -- it might be a - // 2.12.x version, we don't want that! { - name: "scala-xml" - uri: "https://github.com/"${vars.scala-xml-ref} - extra.commands: [ - "set scalaVersion := \"2.12.0-M5\"", - "set publishArtifact in (Compile, packageDoc) in ThisBuild := false" - ] + set-version: ${vars.scala-xml-version} + name: scala-xml + system: aether + uri: "aether:org.scala-lang.modules#scala-xml_"${vars.scala-binary-version}";"${vars.scala-xml-version} } + // TODO: we can drop this -- no longer a core depency { - name: "scala-parser-combinators" - uri: "https://github.com/"${vars.scala-parser-combinators-ref} - extra.commands: [ - "set scalaVersion := \"2.12.0-M5\"", - "set publishArtifact in (Compile, packageDoc) in ThisBuild := false" - ] - extra.projects: ["scala-parser-combinatorsJVM"] + set-version: ${vars.scala-parser-combinators-version} + name: scala-parser-combinators + system: aether + uri: "aether:org.scala-lang.modules#scala-parser-combinators_"${vars.scala-binary-version}";"${vars.scala-parser-combinators-version} } ] } - ${vars.base} { - name: "scala-partest" - uri: "https://github.com/"${vars.scala-partest-ref} - } - ${vars.base} { name: scalacheck uri: "https://github.com/"${vars.scalacheck-ref} extra.run-tests: false } - - ${vars.base} { - name: "scala-swing" - uri: "https://github.com/"${vars.scala-swing-ref} - } -] -} +]} From 0004d8d5f5fbdf442c7b071ff0f126d595022011 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Mon, 5 Sep 2016 09:12:32 +0200 Subject: [PATCH 3/4] forked scala-js to... - drop scala-2.12-junit-mixin-plugin - drop a no-longer accepted super call --- common.conf | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/common.conf b/common.conf index b4ff66464..1ac7dbace 100644 --- a/common.conf +++ b/common.conf @@ -118,8 +118,7 @@ vars: { scalaz-ref : "SethTisue/scalaz.git#community-build-2.12" // TODO SI-8079 fix + variance of Id scodec-bits-ref : "adriaanm/scodec-bits.git#dbuild-sam" discipline-ref : "typelevel/discipline.git#v0.2" - scala-2-12-junit-mixin-plugin-ref : "scala-js/scala-2.12-junit-mixin-plugin.git" - scala-js-ref : "scala-js/scala-js.git" + scala-js-ref : "adriaanm/scala-js.git" scalamock-ref : "dvic/scalamock.git" // TODO use paulbutcher/ again once https://github.com/paulbutcher/ScalaMock/pull/149 gets merged scalariform-ref : "daniel-trinh/scalariform.git" @@ -452,11 +451,6 @@ build += { } } - ${vars.base} { - name: "scala-2-12-junit-mixin-plugin", - uri: "http://github.com/"${vars.scala-2-12-junit-mixin-plugin-ref} - } - ${vars.base} { name: "scala-js", uri: "http://github.com/"${vars.scala-js-ref} From 65899737fc72d475136947a85f32d797da00b1d6 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Tue, 6 Sep 2016 13:41:45 +0200 Subject: [PATCH 4/4] co-opt scala_build_bootstrap_opt for scala-binary-version --- common.conf | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/common.conf b/common.conf index 1ac7dbace..7f9605f46 100644 --- a/common.conf +++ b/common.conf @@ -38,10 +38,10 @@ // TODO: submit PRs to upstream where possible to avoid forks (grep for adriaanm/) // TODO: update to latest where possible vars: { - scala-version : "2.12.0-50462a4-nightly" + scala-version : "" scala-version : ${?scala_ref} // TODO: change param name in jenkins job -- allow overriding scala-version using the scala_version environment variable - scala-binary-version : "2.12.0-50462a4-nightly" - scala-binary-version : ${?scala_binary_version} + scala-binary-version : "" + scala-binary-version : ${?scala_build_bootstrap_opt} // TODO: change param name in jenkins job scala-xml-version : "1.0.5" scala-xml-version : ${?scala_xml_version} scala-parser-combinators-version : "1.0.4" @@ -147,14 +147,6 @@ vars { scalac-opts : "" scalac-opts : ${?scalac_opts} - // Setting from `scala_build_bootstrap_opt` env, passed to ant when building scala/scala, e.g., "-Dlocker.skip=1" to skip the bootstrap - scala-build-bootstrap-opt : "" - scala-build-bootstrap-opt : ${?scala_build_bootstrap_opt} - - // Setting from `scala_build_extra_opt` env, passed to ant when building scala/scala, e.g., "-opt:l:classpath" - scala-build-extra-opt : "" - scala-build-extra-opt : ${?scala_build_extra_opt} - default-commands : [] }