Skip to content

Commit bf8e3c8

Browse files
committed
make test resilient to scala upgrades beyond 0.14.3
1 parent 9b6e03a commit bf8e3c8

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

build.sbt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,13 +382,17 @@ 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"-Dinterfaces.version=${version.value}",
395+
Test / fork := true
392396
)
393397
.defaultAxes(VirtualAxis.jvm)
394398
.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+
System.out.println(System.getProperty("interfaces.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(System.getProperty("interfaces.version")))
7172
.reduce((older, newer) -> newer)
7273
.orElseThrow(() -> new ScalafixException("Could not find any stable version for " + module));
7374

0 commit comments

Comments
 (0)