diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index ae6d4d2..fa44621 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -46,4 +46,80 @@ jobs: chmod 600 ~/.ssh/config chmod 600 ~/.ssh/my_key git clone --single-branch --branch $BRANCH "ssh://git@bitbucket.isb:443/$REPO_PATH.git" . - ls \ No newline at end of file + cat > ~/.gradle/init.gradle.kts << 'EOF' + import java.net.URI + + val OTP_REPO_PREFIX = "https://nexus.isb/repository/" + val MAVEN_CENTRAL = "https://repo.maven.apache.org/maven2/" + val GRADLE_PLUGIN_REPOSITORY = "https://plugins.gradle.org/m2/" + + fun replaceRepository(repo: ArtifactRepository) { + if (repo !is MavenArtifactRepository) { + return + } + val sourceUrl = repo.url + when { + repo.url == URI("${OTP_REPO_PREFIX}central-mvn-proxy/") -> repo.url = URI(MAVEN_CENTRAL) + repo.url == URI("${OTP_REPO_PREFIX}pluginsgradle-mvn-proxy/") -> + repo.url = URI(GRADLE_PLUGIN_REPOSITORY) + repo.url.toString().startsWith(OTP_REPO_PREFIX) -> { + repo.url = + URI( + "http://192.168.76.117/repository/${repo.url.toString().removePrefix(OTP_REPO_PREFIX)}" + ) + repo.isAllowInsecureProtocol = true + } + } + if (sourceUrl != repo.url) { + repo.isAllowInsecureProtocol = true + repo.credentials.username = "" + repo.credentials.password = "" + println("$sourceUrl => ${repo.url}") + } + } + + val LOCAL_REPOSITORY = "file:/home/${System.getProperty("user.name")}/.m2/repository/" + + gradle.settingsEvaluated { + pluginManagement + .repositories + .filterIsInstance() + .filter { + it.url == URI("https://nexus.isb/repository/pluginsgradle-mvn-proxy/") || + it.url == URI("http://repo.xx/otp-pluginsgradle-mvn-proxy/") + } + .forEach { + pluginManagement.repositories.remove(it) + pluginManagement.repositories.add(0, it) + } + + pluginManagement + .repositories + .filterIsInstance() + .filter { it.url == URI(LOCAL_REPOSITORY) } + .forEach { + pluginManagement.repositories.remove(it) + pluginManagement.repositories.add(0, it) + } + } + + gradle.beforeSettings { + pluginManagement.repositories.configureEach { replaceRepository(this) } + dependencyResolutionManagement.repositories.configureEach { replaceRepository(this) } + allprojects { + repositories.configureEach { replaceRepository(this) } + } + } + EOF + ls + sed -i 's|distributionUrl=https://nexus.isb/repository/gradleorg-raw-proxy|distributionUrl=https://services.gradle.org/distributions|g' ./gradle/wrapper/gradle-wrapper.properties + cat ./gradle/wrapper/gradle-wrapper.properties + cat ~/.gradle/init.gradle.kts + - name: Cleanup temp files + if: always() + run: | + echo "🧹 Очистка временных файлов..." + rm -rf ~/.ssh/config + rm -rf ~/.ssh/my_key + rm -rf ~/.gradle/init.gradle.kts + echo "✅ Cleanup completed" \ No newline at end of file