From 5d0abf0e33914fa7a4a928c57a77f2e57ab37830 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 8 Jun 2021 15:51:40 +0200 Subject: [PATCH] Lazily apply cache redirector to all project modules. Mainly move it from 'afterEvaluate { .. }' block. ^KT-47185 In Progress --- build.gradle.kts | 3 ++- gradle/cacheRedirector.gradle.kts | 22 +++++++++------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b096734a059..c92e2e7993c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -572,6 +572,8 @@ allprojects { register("checkBuild") } + apply(from = "$rootDir/gradle/cacheRedirector.gradle.kts") + afterEvaluate { if (javaHome != defaultJavaHome || jvmTarget != defaultJvmTarget) { logger.info("configuring project $name to compile to the target jvm version $jvmTarget using jdk: $javaHome") @@ -606,7 +608,6 @@ allprojects { ?.exclude("org.jetbrains.kotlin", "kotlin-scripting-compiler-embeddable") } - apply(from = "$rootDir/gradle/cacheRedirector.gradle.kts") apply(from = "$rootDir/gradle/testRetry.gradle.kts") } } diff --git a/gradle/cacheRedirector.gradle.kts b/gradle/cacheRedirector.gradle.kts index fc70130c324..c256485b0a9 100644 --- a/gradle/cacheRedirector.gradle.kts +++ b/gradle/cacheRedirector.gradle.kts @@ -127,13 +127,11 @@ fun URI.maybeRedirect(): URI { } } -fun RepositoryHandler.redirect() { - for (repository in this) { - when (repository) { - is MavenArtifactRepository -> repository.url = repository.url.maybeRedirect() - is IvyArtifactRepository -> if (repository.url != null) { - repository.url = repository.url.maybeRedirect() - } +fun RepositoryHandler.redirect() = configureEach { + when (this) { + is MavenArtifactRepository -> url = url.maybeRedirect() + is IvyArtifactRepository -> if (url != null) { + url = url.maybeRedirect() } } } @@ -225,9 +223,7 @@ tasks.named("checkBuild").configure { dependsOn(checkRepositories) } -afterEvaluate { - if (cacheRedirectorEnabled()) { - logger.info("Redirecting repositories for $displayName") - repositories.redirect() - } -} \ No newline at end of file +if (cacheRedirectorEnabled()) { + logger.info("Redirecting repositories for $displayName") + repositories.redirect() +}