From a95247060365d7fb8a43b56d0fb91f4109e3b2d5 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Mon, 11 Nov 2024 20:47:47 +0800 Subject: [PATCH 1/2] . --- runner/src/mill/runner/MillBuildBootstrap.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runner/src/mill/runner/MillBuildBootstrap.scala b/runner/src/mill/runner/MillBuildBootstrap.scala index 71dcc8dab4e..14906dc98f0 100644 --- a/runner/src/mill/runner/MillBuildBootstrap.scala +++ b/runner/src/mill/runner/MillBuildBootstrap.scala @@ -407,8 +407,11 @@ object MillBuildBootstrap { targetsAndParams: Seq[String] ): (Either[String, Seq[Any]], Seq[Watchable], Seq[Watchable]) = { rootModule.evalWatchedValues.clear() - val evalTaskResult = + val previousClassloader = Thread.currentThread().getContextClassLoader + val evalTaskResult = try { + Thread.currentThread().setContextClassLoader(rootModule.getClass.getClassLoader) RunScript.evaluateTasksNamed(evaluator, targetsAndParams, SelectMode.Separated) + } finally Thread.currentThread().setContextClassLoader(previousClassloader) val moduleWatched = rootModule.watchedValues.toVector val addedEvalWatched = rootModule.evalWatchedValues.toVector From 6dc53380016812910f20544b20689fba9b76773c Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Mon, 11 Nov 2024 21:07:56 +0800 Subject: [PATCH 2/2] . --- runner/src/mill/runner/MillBuildBootstrap.scala | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/runner/src/mill/runner/MillBuildBootstrap.scala b/runner/src/mill/runner/MillBuildBootstrap.scala index 14906dc98f0..f1eff7214e2 100644 --- a/runner/src/mill/runner/MillBuildBootstrap.scala +++ b/runner/src/mill/runner/MillBuildBootstrap.scala @@ -408,10 +408,11 @@ object MillBuildBootstrap { ): (Either[String, Seq[Any]], Seq[Watchable], Seq[Watchable]) = { rootModule.evalWatchedValues.clear() val previousClassloader = Thread.currentThread().getContextClassLoader - val evalTaskResult = try { - Thread.currentThread().setContextClassLoader(rootModule.getClass.getClassLoader) - RunScript.evaluateTasksNamed(evaluator, targetsAndParams, SelectMode.Separated) - } finally Thread.currentThread().setContextClassLoader(previousClassloader) + val evalTaskResult = + try { + Thread.currentThread().setContextClassLoader(rootModule.getClass.getClassLoader) + RunScript.evaluateTasksNamed(evaluator, targetsAndParams, SelectMode.Separated) + } finally Thread.currentThread().setContextClassLoader(previousClassloader) val moduleWatched = rootModule.watchedValues.toVector val addedEvalWatched = rootModule.evalWatchedValues.toVector