Skip to content

Commit 951d207

Browse files
authored
Merge pull request scalacenter#2233 from bjaglin/interfaces-lookup-ci
make test resilient to scala upgrades beyond 0.14.3
2 parents 9b6e03a + 5d07bce commit 951d207

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

build.sbt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,13 +382,18 @@ lazy val integration = projectMatrix
382382
)
383383
.value,
384384
// Mimic sbt-scalafix usage of interfaces (without properties per default)
385-
// to exercise dynamic loading of latest scalafix-properties artifact
385+
// to exercise dynamic loading of scalafix-properties artifact
386386
Test / internalDependencyClasspath := {
387387
val prev = (Test / internalDependencyClasspath).value
388388
val propertiesClassDirectory =
389389
(properties / Compile / classDirectory).value
390390
prev.filter(_.data != propertiesClassDirectory)
391-
}
391+
},
392+
// Since tests may depend on new values, we use a system property to ScalafixCoursier
393+
// to whitelist a specific SNAPSHOT version from the list of available ones
394+
Test / javaOptions += s"-Dscalafix-properties.version=${version.value}",
395+
Test / fork := true,
396+
Test / baseDirectory := (ThisBuild / baseDirectory).value
392397
)
393398
.defaultAxes(VirtualAxis.jvm)
394399
.jvmPlatformFull(cliScalaVersions)

scalafix-interfaces/src/main/java/scalafix/internal/interfaces/ScalafixCoursier.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,12 @@ public static List<URL> latestScalafixPropertiesJars(
6363
List<Repository> repositories
6464
) throws ScalafixException {
6565
Module module = Module.of("ch.epfl.scala", "scalafix-properties");
66+
String allowedVersion = System.getProperty("scalafix-properties.version");
6667
String version = versions(repositories, module)
6768
.getAvailable()
6869
.stream()
69-
// Ignore RC & SNAPSHOT versions
70-
.filter(v -> v.startsWith("0.14.2+") || !v.contains("-"))
70+
// Ignore RC & SNAPSHOT versions, except if explicitly requested
71+
.filter(v -> !v.contains("-") || v.equals(allowedVersion))
7172
.reduce((older, newer) -> newer)
7273
.orElseThrow(() -> new ScalafixException("Could not find any stable version for " + module));
7374

0 commit comments

Comments
 (0)