From a8ab4ada68405f0f33b49e6213a9757f25292f52 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 27 Dec 2019 16:43:20 -0500 Subject: [PATCH] Replace getResource("") trick Fixes https://github.com/sbt/sbt/issues/5339 It seems like some tests are using `ClassLoader#getResource("")` to acquire the `classes` directory path. This does not seem to work on sbt 1.3.6, which returns `file:/home/travis/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar!/META-INF/versions/9/`. To workaround this issue, I've switched to loading the known folder name instead. --- main/src/test/scala/sbt/internal/parser/ErrorSpec.scala | 2 +- main/src/test/scala/sbt/internal/parser/NewFormatSpec.scala | 2 +- .../test/scala/sbt/internal/parser/SessionSettingsSpec.scala | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/main/src/test/scala/sbt/internal/parser/ErrorSpec.scala b/main/src/test/scala/sbt/internal/parser/ErrorSpec.scala index a79fd91f7..66d9dfb3e 100644 --- a/main/src/test/scala/sbt/internal/parser/ErrorSpec.scala +++ b/main/src/test/scala/sbt/internal/parser/ErrorSpec.scala @@ -19,7 +19,7 @@ class ErrorSpec extends AbstractSpec { "Parser " should { "contains file name and line number" in { - val rootPath = getClass.getClassLoader.getResource("").getPath + "/error-format/" + val rootPath = getClass.getResource("/error-format/").getPath println(s"Reading files from: $rootPath") foreach(new File(rootPath).listFiles) { file => print(s"Processing ${file.getName}: ") diff --git a/main/src/test/scala/sbt/internal/parser/NewFormatSpec.scala b/main/src/test/scala/sbt/internal/parser/NewFormatSpec.scala index ee45ffd2e..6e0e02ae6 100644 --- a/main/src/test/scala/sbt/internal/parser/NewFormatSpec.scala +++ b/main/src/test/scala/sbt/internal/parser/NewFormatSpec.scala @@ -22,7 +22,7 @@ class NewFormatSpec extends AbstractSpec { "New Format " should { "Handle lines " in { - val rootPath = getClass.getClassLoader.getResource("").getPath + "/new-format/" + val rootPath = getClass.getResource("/new-format").getPath println(s"Reading files from: $rootPath") val allFiles = new File(rootPath).listFiles.toList foreach(allFiles) { path => diff --git a/main/src/test/scala/sbt/internal/parser/SessionSettingsSpec.scala b/main/src/test/scala/sbt/internal/parser/SessionSettingsSpec.scala index 4db2e158f..0e97d6c01 100644 --- a/main/src/test/scala/sbt/internal/parser/SessionSettingsSpec.scala +++ b/main/src/test/scala/sbt/internal/parser/SessionSettingsSpec.scala @@ -18,7 +18,7 @@ import scala.io.Source import SessionSettings.SessionSetting abstract class AbstractSessionSettingsSpec(folder: String) extends AbstractSpec { - protected val rootPath = getClass.getClassLoader.getResource("").getPath + folder + protected val rootPath = getClass.getResource("/" + folder).getPath println(s"Reading files from: $rootPath") protected val rootDir = new File(rootPath)