Skip to content

Commit 3faf793

Browse files
committed
Consolidate maven repo accessibility check using System Properties
1 parent 95130f2 commit 3faf793

3 files changed

Lines changed: 6 additions & 45 deletions

File tree

buildSrc/build.gradle.kts

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,7 @@
1515
* See the License for the specific language governing permissions and
1616
* limitations under the License.
1717
*/
18-
import java.net.HttpURLConnection
19-
import java.net.URL
20-
21-
fun checkMavenCentralAccessibility(): Boolean {
22-
val testUrl = "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.pom"
23-
val accessible = try {
24-
val connection = URL(testUrl).openConnection() as HttpURLConnection
25-
connection.requestMethod = "GET"
26-
connection.setRequestProperty("User-Agent", "Gradle")
27-
connection.connectTimeout = 2000
28-
connection.readTimeout = 2000
29-
connection.useCaches = false
30-
connection.responseCode == 200
31-
} catch (e: Exception) {
32-
false
33-
}
34-
35-
if (accessible) {
36-
logger.lifecycle("Maven Central is accessible. Using default repositories for buildSrc.")
37-
} else {
38-
logger.lifecycle("Maven Central is not accessible. Falling back to Google Maven Mirror for buildSrc.")
39-
}
40-
return accessible
41-
}
42-
43-
val isMavenAccessible = checkMavenCentralAccessibility()
18+
val isMavenAccessible = System.getProperty("beam.maven.accessible")?.toBoolean() ?: true
4419
val mavenCentralMirrorUrl = "https://maven-central.storage-download.googleapis.com/maven2/"
4520

4621
// Plugins for configuring _this build_ of the module
@@ -55,6 +30,7 @@ repositories {
5530
if (isMavenAccessible) {
5631
maven { url = uri("https://plugins.gradle.org/m2/") }
5732
} else {
33+
logger.lifecycle("Maven Central is not accessible. Falling back to Google Maven Mirror for buildSrc.")
5834
maven { url = uri(mavenCentralMirrorUrl) }
5935
maven { url = uri("https://plugins.gradle.org/m2/") }
6036
}

buildSrc/src/main/groovy/org/apache/beam/gradle/Repositories.groovy

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
package org.apache.beam.gradle
2020

2121
import org.gradle.api.Project
22-
import java.net.HttpURLConnection
23-
import java.net.URL
24-
2522
class Repositories {
2623

2724
private static Boolean isMavenAccessible = null
@@ -30,23 +27,10 @@ class Repositories {
3027
if (isMavenAccessible != null) {
3128
return isMavenAccessible
3229
}
33-
def testUrl = "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.pom"
34-
try {
35-
def url = new URL(testUrl)
36-
def connection = (HttpURLConnection) url.openConnection()
37-
connection.requestMethod = "GET"
38-
connection.setRequestProperty("User-Agent", "Gradle")
39-
connection.connectTimeout = 2000
40-
connection.readTimeout = 2000
41-
connection.useCaches = false
42-
isMavenAccessible = (connection.responseCode == 200)
43-
} catch (Exception e) {
44-
isMavenAccessible = false
45-
}
30+
def prop = System.getProperty("beam.maven.accessible")
31+
isMavenAccessible = prop != null ? Boolean.parseBoolean(prop) : true
4632

47-
if (isMavenAccessible) {
48-
println "Maven Central is accessible. Using default repositories."
49-
} else {
33+
if (!isMavenAccessible) {
5034
println "Maven Central is not accessible. Redirecting to Google Maven Mirror."
5135
}
5236
return isMavenAccessible

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ pluginManagement {
2929
} catch (e: Exception) {
3030
false
3131
}
32+
System.setProperty("beam.maven.accessible", isMavenAccessible.toString())
3233
val mavenCentralMirrorUrl = "https://maven-central.storage-download.googleapis.com/maven2/"
3334

3435
if (isMavenAccessible) {

0 commit comments

Comments
 (0)