Skip to content

Commit 60952ae

Browse files
committed
Allow configuring a Maven Central mirror via system property
Add support for a `mavenCentralMirror` system property that allows users behind corporate proxies or firewalls to redirect all Maven Central traffic through a mirror repository. Users can configure this in `~/.gradle/gradle.properties`: systemProp.mavenCentralMirror=https://your-mirror.example.com When unset, behavior is identical to today (uses mavenCentral()). Co-authored-by: Isaac
1 parent 339b5dd commit 60952ae

7 files changed

Lines changed: 48 additions & 5 deletions

File tree

build.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ plugins {
2727

2828
allprojects {
2929
repositories {
30-
mavenCentral()
30+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
31+
if (mavenCentralMirror) {
32+
maven { url = mavenCentralMirror }
33+
} else {
34+
mavenCentral()
35+
}
3136
}
3237
}
3338

gradle/scripts/lib/common-dependencies.gradle

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ import org.yaml.snakeyaml.Yaml
44

55
buildscript {
66
repositories {
7-
mavenCentral()
7+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
8+
if (mavenCentralMirror) {
9+
maven { url = mavenCentralMirror }
10+
} else {
11+
mavenCentral()
12+
}
813
gradlePluginPortal()
914
}
1015

@@ -33,10 +38,15 @@ configure(dependencyManagementProject) {
3338
apply plugin: 'java-platform'
3439

3540
repositories {
41+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
3642
google()
3743
// Since we manage plugin versions here too.
3844
gradlePluginPortal()
39-
mavenCentral()
45+
if (mavenCentralMirror) {
46+
maven { url = mavenCentralMirror }
47+
} else {
48+
mavenCentral()
49+
}
4050
}
4151

4252
javaPlatform {

gradle/scripts/lib/java-rpc-proto.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import org.gradle.internal.os.OperatingSystem
22

33
buildscript {
44
repositories {
5+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
6+
if (mavenCentralMirror) {
7+
maven { url = mavenCentralMirror }
8+
}
59
gradlePluginPortal()
610
}
711
dependencies {

gradle/scripts/lib/java-shade.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ import java.util.concurrent.atomic.AtomicInteger
55

66
buildscript {
77
repositories {
8+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
9+
if (mavenCentralMirror) {
10+
maven { url = mavenCentralMirror }
11+
}
812
gradlePluginPortal()
913
google()
1014
}

gradle/scripts/version-catalog.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ import org.tomlj.TomlArray
44

55
buildscript {
66
repositories {
7-
mavenCentral()
7+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
8+
if (mavenCentralMirror) {
9+
maven { url = mavenCentralMirror }
10+
} else {
11+
mavenCentral()
12+
}
813
}
914

1015
dependencies {

settings.gradle

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
pluginManagement {
2+
repositories {
3+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
4+
if (mavenCentralMirror) {
5+
maven { url = mavenCentralMirror }
6+
}
7+
gradlePluginPortal()
8+
}
9+
}
10+
111
plugins {
212
// This plugin should be applied in settings.gradle, not build.gradle.
313
// https://github.com/gradle/foojay-toolchains/issues/15

site-new/build.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@ import java.util.stream.Collectors
99

1010
buildscript {
1111
repositories {
12+
def mavenCentralMirror = System.getProperty('mavenCentralMirror')
13+
if (mavenCentralMirror) {
14+
maven { url = mavenCentralMirror }
15+
} else {
16+
mavenCentral()
17+
}
1218
gradlePluginPortal()
13-
mavenCentral()
1419
}
1520
dependencies {
1621
classpath libs.jsoup

0 commit comments

Comments
 (0)