Изменение Gradle в mavenCentral URL-адрес для моего РЕПО



При работе с Gradle в моей стране загрузка jars из maven central является очень своевременной и дорогостоящей работой.
я хочу изменить mavenCentral на maven-nexus:

это означает, что всякий раз, когда я использую mavenCentral, он всегда указывает на ощина



------править------
у меня много проектов с mavenCentral, поэтому я не хочу менять каждый файл.



Теперь в новых скриптах я использую maven{ url ...}
Есть какой-нибудь легкий способ??



Любой может глеп?

Спасибо!

549   4  

4 ответов:

Самый простой способ применить это изменение для всех проектов-использовать сценарий gradle init, который заставляет использовать репозиторий oschina вместо mavenCentral. вы можете поставить это:

allprojects{
    repositories {
        all { ArtifactRepository repo ->
            println repo.url.toString()
            if ((repo instanceof MavenArtifactRepository) && repo.url.toString().startsWith("https://repo1.maven.org/maven2")) {
                project.logger.warn "Repository ${repo.url} removed. Only $coporateRepoUrl is allowed"
                remove repo
            }   
        }
        maven { 
            url "http://maven.oschina.net/content/groups/public" 
        }
    }
}

В файл gradle init. Теперь вы можете использовать это, вызвав " gradle build-I yourInitFile.gradle" или вы помещаете эту логику в файл init.gradle, хранящийся в вашем домашнем каталоге gradle в каталоге USER_HOME/.gradle/. Теперь это будет подхвачено каждым вызовом gradle без явной настройки -I

Другим вариантом является создание пользовательского дистрибутива gradle, в котором этот файл хранится в init.D каталог дистрибутива.

Это просто! Вместо этого:

repositories {
    mavenCentral()
}

Используйте это:

repositories {
    maven {
        url "https://..."
    }
}

Просто настройте репозиторий в build.файл gradle в каталоге вашего модуля, например:

repositories {
    maven { url "http://maven.oschina.net/content/groups/public" }
}

Если у вас много зависимостей (т. е. во всех файлах build.gradle) и для URL репозитория вы используете

repositories {
    maven {
        url "https://www.myrepourl.com"
    }
}

Но вы хотите изменить этот url-адрес только в одном файле, тогда сделайте следующее:

  • создайте файл gradle.properties и добавьте в него следующую строку: REPO_URL=https://www.myrepourl.com
  • Во всех остальных файлах build.gradle скопируйте следующее:

    repositories {
        maven {
            url project.REPO_URL
        }
    }
    

Таким образом можно добавлять и использовать дополнительные свойства. Это действовало на меня как заклинание. Ура!

Comments

    Ничего не найдено.