Skip to content

Commit 44c783e

Browse files
authored
Add extra try-catch clause + extra logging in LocalRepo (#3114)
1 parent 052ed4d commit 44c783e

15 files changed

+25
-21
lines changed

modules/build/src/main/scala/scala/build/LocalRepo.scala

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ object LocalRepo {
5656

5757
def localRepo(
5858
baseDir: os.Path,
59+
logger: Logger,
5960
loader: ClassLoader = Thread.currentThread().getContextClassLoader
6061
): Option[String] = {
6162
val archiveUrl = loader.getResource(resourcePath)
6263

63-
if (archiveUrl == null) None
64+
if archiveUrl == null then None
6465
else {
65-
6666
val version =
6767
using(archiveUrl.openStream()) { is =>
6868
using(WrappedZipInputStream.create(new BufferedInputStream(is))) { zis =>
@@ -75,10 +75,14 @@ object LocalRepo {
7575

7676
val repoDir = baseDir / version
7777

78-
if (!os.exists(repoDir))
78+
if !os.exists(repoDir) then
7979
withLock((repoDir / os.up).toNIO, version) {
8080
val tmpRepoDir = repoDir / os.up / s".$version.tmp"
81-
os.remove.all(tmpRepoDir)
81+
try os.remove.all(tmpRepoDir)
82+
catch {
83+
case t: Throwable =>
84+
logger.message(s"Error removing $tmpRepoDir: ${t.getMessage}")
85+
}
8286
using(archiveUrl.openStream()) { is =>
8387
using(WrappedZipInputStream.create(new BufferedInputStream(is))) { zis =>
8488
extractZip(zis, tmpRepoDir)

modules/build/src/test/scala/scala/build/tests/ActionableDiagnosticTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class ActionableDiagnosticTests extends TestUtil.ScalaCliBuildSuite {
1818
val directories = Directories.under(extraRepoTmpDir)
1919
val baseOptions = BuildOptions(
2020
internal = InternalOptions(
21-
localRepository = LocalRepo.localRepo(directories.localRepoDir)
21+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger())
2222
)
2323
)
2424
val buildThreads = BuildThreads.create()

modules/build/src/test/scala/scala/build/tests/BspServerTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class BspServerTests extends TestUtil.ScalaCliBuildSuite {
2626
val directories = Directories.under(extraRepoTmpDir)
2727
val baseOptions = BuildOptions(
2828
internal = InternalOptions(
29-
localRepository = LocalRepo.localRepo(directories.localRepoDir)
29+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger())
3030
)
3131
)
3232
val buildThreads = BuildThreads.create()

modules/build/src/test/scala/scala/build/tests/BuildOptionsTests.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class BuildOptionsTests extends TestUtil.ScalaCliBuildSuite {
4040
val buildThreads = BuildThreads.create()
4141
val baseOptions = BuildOptions(
4242
internal = InternalOptions(
43-
localRepository = LocalRepo.localRepo(directories.localRepoDir),
43+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger()),
4444
keepDiagnostics = true
4545
)
4646
)
@@ -354,7 +354,7 @@ class BuildOptionsTests extends TestUtil.ScalaCliBuildSuite {
354354
test("User scalac options shadow internal ones") {
355355
val defaultOptions = BuildOptions(
356356
internal = InternalOptions(
357-
localRepository = LocalRepo.localRepo(directories.localRepoDir)
357+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger())
358358
)
359359
)
360360

modules/build/src/test/scala/scala/build/tests/BuildProjectTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class BuildProjectTests extends TestUtil.ScalaCliBuildSuite {
6868
test("workspace for bsp") {
6969
val options = BuildOptions(
7070
internal = InternalOptions(localRepository =
71-
LocalRepo.localRepo(scala.build.Directories.default().localRepoDir)
71+
LocalRepo.localRepo(scala.build.Directories.default().localRepoDir, TestLogger())
7272
)
7373
)
7474
val inputs = Inputs.empty("project")

modules/build/src/test/scala/scala/build/tests/BuildTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ abstract class BuildTests(server: Boolean) extends TestUtil.ScalaCliBuildSuite {
5050

5151
val baseOptions = BuildOptions(
5252
internal = InternalOptions(
53-
localRepository = LocalRepo.localRepo(directories.localRepoDir),
53+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger()),
5454
keepDiagnostics = true
5555
)
5656
)

modules/build/src/test/scala/scala/build/tests/DirectiveTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class DirectiveTests extends TestUtil.ScalaCliBuildSuite {
3939

4040
val baseOptions = BuildOptions(
4141
internal = InternalOptions(
42-
localRepository = LocalRepo.localRepo(directories.localRepoDir),
42+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger()),
4343
keepDiagnostics = true
4444
)
4545
)

modules/build/src/test/scala/scala/build/tests/InputsTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class InputsTests extends TestUtil.ScalaCliBuildSuite {
2424
def bloopConfigOpt: Option[BloopRifleConfig] = Some(BloopServer.bloopConfig)
2525
val buildOptions: BuildOptions = BuildOptions(
2626
internal = InternalOptions(
27-
localRepository = LocalRepo.localRepo(directories.localRepoDir),
27+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger()),
2828
keepDiagnostics = true
2929
)
3030
)

modules/build/src/test/scala/scala/build/tests/PackagingUsingDirectiveTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class PackagingUsingDirectiveTests extends TestUtil.ScalaCliBuildSuite {
1616

1717
val buildOptions = BuildOptions(
1818
internal = InternalOptions(
19-
localRepository = LocalRepo.localRepo(directories.localRepoDir),
19+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger()),
2020
keepDiagnostics = true
2121
)
2222
)

modules/build/src/test/scala/scala/build/tests/ScalaNativeUsingDirectiveTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ScalaNativeUsingDirectiveTests extends TestUtil.ScalaCliBuildSuite {
1717

1818
val buildOptions = BuildOptions(
1919
internal = InternalOptions(
20-
localRepository = LocalRepo.localRepo(directories.localRepoDir),
20+
localRepository = LocalRepo.localRepo(directories.localRepoDir, TestLogger()),
2121
keepDiagnostics = true
2222
)
2323
)

0 commit comments

Comments
 (0)