|
18 | 18 | import com.gradle.enterprise.gradleplugin.internal.extension.BuildScanExtensionWithHiddenFeatures |
19 | 19 |
|
20 | 20 | pluginManagement { |
21 | | - val mavenCentralTestUrl = settings.providers.gradleProperty("mavenCentralTestUrl").getOrElse("https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.pom") |
22 | | - val mavenCentralMirrorUrl = settings.providers.gradleProperty("mavenCentralMirrorUrl").getOrElse("https://maven-central.storage-download.googleapis.com/maven2/") |
| 21 | + val mavenCentralTestUrl = settings.providers.gradleProperty("mavenCentralTestUrl").orNull |
| 22 | + val mavenCentralMirrorUrl = settings.providers.gradleProperty("mavenCentralMirrorUrl").orNull |
23 | 23 |
|
24 | | - val isMavenAccessible = try { |
25 | | - val connection = java.net.URL(mavenCentralTestUrl).openConnection() as java.net.HttpURLConnection |
26 | | - connection.requestMethod = "GET" |
27 | | - connection.setRequestProperty("User-Agent", "Gradle") |
28 | | - connection.connectTimeout = 2000 |
29 | | - connection.readTimeout = 2000 |
30 | | - connection.useCaches = false |
31 | | - connection.responseCode == 200 |
32 | | - } catch (e: Exception) { |
33 | | - false |
| 24 | + val isMavenAccessible = if (!mavenCentralTestUrl.isNullOrBlank()) { |
| 25 | + try { |
| 26 | + val connection = java.net.URL(mavenCentralTestUrl).openConnection() as java.net.HttpURLConnection |
| 27 | + connection.requestMethod = "GET" |
| 28 | + connection.setRequestProperty("User-Agent", "Gradle") |
| 29 | + connection.connectTimeout = 2000 |
| 30 | + connection.readTimeout = 2000 |
| 31 | + connection.useCaches = false |
| 32 | + connection.responseCode == 200 |
| 33 | + } catch (e: Exception) { |
| 34 | + false |
| 35 | + } |
| 36 | + } else { |
| 37 | + true |
34 | 38 | } |
35 | 39 |
|
| 40 | + val useFallbackMirror = !isMavenAccessible && !mavenCentralMirrorUrl.isNullOrBlank() |
| 41 | + |
36 | 42 | if (isMavenAccessible) { |
37 | 43 | logger.lifecycle("Maven Central is accessible. Using default repositories for settings plugins.") |
38 | | - } else { |
| 44 | + } else if (useFallbackMirror) { |
39 | 45 | logger.lifecycle("Maven Central is not accessible. Falling back to Google Maven Mirror for settings plugins.") |
| 46 | + } else { |
| 47 | + logger.lifecycle("Maven Central is not accessible and no mirror is configured. Using default repositories for settings plugins.") |
40 | 48 | } |
41 | 49 |
|
42 | 50 | repositories { |
43 | | - if (!isMavenAccessible) { |
44 | | - maven { url = uri(mavenCentralMirrorUrl) } |
| 51 | + if (useFallbackMirror) { |
| 52 | + maven { url = uri(mavenCentralMirrorUrl!!) } |
45 | 53 | } |
46 | 54 | gradlePluginPortal() |
47 | 55 | } |
|
0 commit comments