From 20d9ee5349d0aed3bb9057a988924025ec0f5d0d Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sat, 9 Oct 2021 16:37:05 +0200 Subject: [PATCH 1/3] Publish server and cli modules with full cross version suffix So that downstream users don't risk running into class path issues because of a mismatch between the Scala version used by metabrowse and theirs. --- .github/workflows/ci.yml | 13 +++++++++++++ build.sbt | 14 ++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73ecc4b8..f47c4eeb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,19 @@ on: - main pull_request: jobs: + compile: + name: Compile + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + submodules: true + - uses: olafurpg/setup-scala@v12 + with: + java-version: "adopt@1.8" + - run: sbt +test:compile # ensuring metabrowse compiles for all Scala versions + unit: name: Tests runs-on: ${{ matrix.os }} diff --git a/build.sbt b/build.sbt index 240dd746..adca1a45 100644 --- a/build.sbt +++ b/build.sbt @@ -3,8 +3,10 @@ import scalajsbundler.util.JSON._ import sbtcrossproject.{crossProject, CrossType} lazy val Version = new { - def scala213 = "2.13.6" - def scala212 = "2.12.15" + val scala213Versions = (0 to 6).map(p => s"2.13.$p") + val scala212Versions = (8 to 15).map(p => s"2.12.$p") + def scala213 = scala213Versions.last + def scala212 = scala212Versions.last def scalameta = "4.4.28" } @@ -51,6 +53,11 @@ inThisBuild( (publish / skip) := true crossScalaVersions := Nil +lazy val fullCrossVersionSettings = Def.settings( + crossVersion := CrossVersion.full, + crossScalaVersions := Version.scala213Versions ++ Version.scala212Versions +) + def addPaigesLikeSourceDirs(config: Configuration, srcName: String) = Def.settings( config / unmanagedSourceDirectories ++= { @@ -94,6 +101,7 @@ lazy val server = project .in(file("metabrowse-server")) .settings( moduleName := "metabrowse-server", + fullCrossVersionSettings, resolvers += Resolver.sonatypeRepo("releases"), resolvers += Resolver.sonatypeRepo("snapshots"), libraryDependencies ++= List( @@ -173,6 +181,7 @@ lazy val cli = project .in(file("metabrowse-cli")) .settings( moduleName := "metabrowse-cli", + fullCrossVersionSettings, (assembly / mainClass) := Some("metabrowse.cli.MetabrowseCli"), (assembly / assemblyJarName) := "metabrowse.jar", scalacOptions ++= { @@ -317,6 +326,7 @@ lazy val tests = project .in(file("metabrowse-tests")) .configs(IntegrationTest) .settings( + fullCrossVersionSettings, (publish / skip) := true, Defaults.itSettings, run / baseDirectory := (ThisBuild / baseDirectory).value, From a284985c8a025503fbcab674c6c87a3cb8fca293 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sat, 9 Oct 2021 17:25:58 +0200 Subject: [PATCH 2/3] Fix 2.13 tests --- .../scala/metabrowse/tests/MetabrowseCliSuite.scala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/metabrowse-tests/src/test/scala/metabrowse/tests/MetabrowseCliSuite.scala b/metabrowse-tests/src/test/scala/metabrowse/tests/MetabrowseCliSuite.scala index b6d1e525..2ada954c 100644 --- a/metabrowse-tests/src/test/scala/metabrowse/tests/MetabrowseCliSuite.scala +++ b/metabrowse-tests/src/test/scala/metabrowse/tests/MetabrowseCliSuite.scala @@ -51,12 +51,18 @@ class MetabrowseCliSuite extends BaseMetabrowseCliSuite { } .sorted .mkString("\n") - val extra = + val extraLazyListStuff = if (is212) """org/typelevel/paiges/ScalaVersionCompat.LazyList# |org/typelevel/paiges/ScalaVersionCompat.LazyList. |""".stripMargin else "" + val extraPi213Stuff = + if (is212) "" + else + """org/typelevel/paiges/ColorTest#TwoPi. + |org/typelevel/paiges/ColorTest#TwoThirdsPi. + |""".stripMargin val expected = s"""|org/typelevel/paiges/Chunk. |org/typelevel/paiges/Chunk.best(). @@ -66,7 +72,7 @@ class MetabrowseCliSuite extends BaseMetabrowseCliSuite { |org/typelevel/paiges/Chunk.makeIndentStr(). |org/typelevel/paiges/ColorTest# |org/typelevel/paiges/ColorTest#Quote. - |org/typelevel/paiges/ColorTest#``(). + |${extraPi213Stuff}org/typelevel/paiges/ColorTest#``(). |org/typelevel/paiges/ColorTest#bg(). |org/typelevel/paiges/ColorTest#fg(). |org/typelevel/paiges/ColorTest#fromAngle(). @@ -317,7 +323,7 @@ class MetabrowseCliSuite extends BaseMetabrowseCliSuite { |org/typelevel/paiges/PaigesTest.slowRenderTrim(). |org/typelevel/paiges/PaigesTest.twoRightAssociated(). |org/typelevel/paiges/ScalaVersionCompat. - |${extra}org/typelevel/paiges/ScalaVersionCompat.lazyListFromIterator(). + |${extraLazyListStuff}org/typelevel/paiges/ScalaVersionCompat.lazyListFromIterator(). |org/typelevel/paiges/Style# |org/typelevel/paiges/Style#`++`(). |org/typelevel/paiges/Style#``(). From 287e20a532c507c616a5354ae8857ad56f9f61d6 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sat, 9 Oct 2021 17:02:46 +0200 Subject: [PATCH 3/3] Run tests for 2.13.6 too --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f47c4eeb..9e74efb2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: strategy: fail-fast: false matrix: - scala: [2.12.15] + scala: [2.12.15, 2.13.6] os: [ubuntu-latest] java: [11, 8] steps: