forked from hesabix/arc
34 lines
1.3 KiB
Groovy
Executable file
34 lines
1.3 KiB
Groovy
Executable file
// Injects mirror repos into pluginManagement and flutter_tools composite builds.
|
|
// Loaded via: gradlew --init-script gradle/hesabix-mirror.init.gradle
|
|
|
|
def mirrorBase =
|
|
System.getenv("HESABIX_GRADLE_MIRROR") ?: System.getProperty("hesabix.gradle.mirror")
|
|
if (mirrorBase == null || mirrorBase.trim().isEmpty()) {
|
|
mirrorBase = "https://maven.myket.ir"
|
|
}
|
|
mirrorBase = mirrorBase.replaceAll(/\/+$/, "")
|
|
|
|
def mirrorRepos = { repoHandler ->
|
|
repoHandler.maven { url = uri("${mirrorBase}/") }
|
|
repoHandler.maven { url = uri("${mirrorBase}/android/maven2/") }
|
|
repoHandler.maven { url = uri("${mirrorBase}/maven2/") }
|
|
repoHandler.maven { url = uri("${mirrorBase}/gradle-plugins/") }
|
|
repoHandler.google()
|
|
repoHandler.mavenCentral()
|
|
repoHandler.gradlePluginPortal()
|
|
}
|
|
|
|
gradle.beforeSettings { settings ->
|
|
settings.pluginManagement {
|
|
repositories { mirrorRepos(delegate) }
|
|
}
|
|
}
|
|
|
|
settingsEvaluated { settings ->
|
|
settings.pluginManagement { repositories { mirrorRepos(delegate) } }
|
|
def sd = (settings.settingsDir ?: settings.rootDir).canonicalPath.replace('\\', '/')
|
|
if (sd.contains('flutter_tools/gradle')) {
|
|
settings.dependencyResolutionManagement.repositories.clear()
|
|
mirrorRepos(settings.dependencyResolutionManagement.repositories)
|
|
}
|
|
}
|