Skip to content

Commit 9244752

Browse files
authored
Allow to use cache-redirector for node.js downloads (#3688)
* Minor: sort cache-redirector repos * Use cache redirector for download yarn and node
1 parent 1c5ae48 commit 9244752

File tree

2 files changed

+32
-6
lines changed

2 files changed

+32
-6
lines changed

build.gradle

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55

66
import org.jetbrains.kotlin.config.KotlinCompilerVersion
77
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
8-
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
8+
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
9+
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
10+
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin
11+
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension
912
import org.jetbrains.kotlin.konan.target.HostManager
1013
import org.jetbrains.dokka.gradle.DokkaTaskPartial
1114

@@ -361,3 +364,15 @@ allprojects { subProject ->
361364
tasks.named("dokkaHtmlMultiModule") {
362365
pluginsMapConfiguration.set(["org.jetbrains.dokka.base.DokkaBase": """{ "templatesDir": "${projectDir.toString().replace('\\', '/')}/dokka-templates" }"""])
363366
}
367+
368+
if (CacheRedirector.enabled) {
369+
def yarnRootExtension = rootProject.extensions.findByType(YarnRootExtension.class)
370+
if (yarnRootExtension != null) {
371+
yarnRootExtension.downloadBaseUrl = CacheRedirector.maybeRedirect(yarnRootExtension.downloadBaseUrl)
372+
}
373+
374+
def nodeJsExtension = rootProject.extensions.findByType(NodeJsRootExtension.class)
375+
if (nodeJsExtension != null) {
376+
nodeJsExtension.nodeDownloadBaseUrl = CacheRedirector.maybeRedirect(nodeJsExtension.nodeDownloadBaseUrl)
377+
}
378+
}

buildSrc/src/main/kotlin/CacheRedirector.kt

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,31 +26,33 @@ private val mirroredUrls = listOf(
2626
"https://dl.google.com/dl/android/studio/ide-zips",
2727
"https://dl.google.com/go",
2828
"https://download.jetbrains.com",
29+
"https://github.com/yarnpkg/yarn/releases/download",
2930
"https://jitpack.io",
30-
"https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev",
3131
"https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap",
32+
"https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev",
3233
"https://maven.pkg.jetbrains.space/kotlin/p/kotlin/eap",
34+
"https://nodejs.org/dist",
3335
"https://oss.sonatype.org/content/repositories/releases",
3436
"https://oss.sonatype.org/content/repositories/snapshots",
3537
"https://oss.sonatype.org/content/repositories/staging",
3638
"https://packages.confluent.io/maven/",
3739
"https://plugins.gradle.org/m2",
3840
"https://plugins.jetbrains.com/maven",
39-
"https://repo1.maven.org/maven2",
4041
"https://repo.grails.org/grails/core",
4142
"https://repo.jenkins-ci.org/releases",
4243
"https://repo.maven.apache.org/maven2",
4344
"https://repo.spring.io/milestone",
4445
"https://repo.typesafe.com/typesafe/ivy-releases",
46+
"https://repo1.maven.org/maven2",
4547
"https://services.gradle.org",
4648
"https://www.exasol.com/artifactory/exasol-releases",
49+
"https://www.jetbrains.com/intellij-repository/nightly",
50+
"https://www.jetbrains.com/intellij-repository/releases",
51+
"https://www.jetbrains.com/intellij-repository/snapshots",
4752
"https://www.myget.org/F/intellij-go-snapshots/maven",
4853
"https://www.myget.org/F/rd-model-snapshots/maven",
4954
"https://www.myget.org/F/rd-snapshots/maven",
5055
"https://www.python.org/ftp",
51-
"https://www.jetbrains.com/intellij-repository/nightly",
52-
"https://www.jetbrains.com/intellij-repository/releases",
53-
"https://www.jetbrains.com/intellij-repository/snapshots"
5456
)
5557

5658
private val aliases = mapOf(
@@ -115,4 +117,13 @@ object CacheRedirector {
115117
fun Project.configure() {
116118
checkRedirect(repositories, displayName)
117119
}
120+
121+
@JvmStatic
122+
fun maybeRedirect(url: String): String {
123+
if (!cacheRedirectorEnabled) return url
124+
return URI(url).maybeRedirect()?.toString() ?: url
125+
}
126+
127+
@JvmStatic
128+
val isEnabled get() = cacheRedirectorEnabled
118129
}

0 commit comments

Comments
 (0)