如何使用带有Gradle的Sonatype Nexus来代理销售代理?

时间:2012-11-03 14:23:37

标签: gradle

假设我在内部服务器上运行Sonatype Nexus,我想用它来代理repo1.maven.org和其他存储库。在Maven中,我只需将<mirror>配置添加到settings.xml。我怎么能用Gradle做到这一点?

更新:我希望这样做,而无需将我的Nexus实例的网址硬编码到我拥有的每个项目中。所以我正在寻找Maven <mirror>设置的精确副本。

我现在能想到的最好的事情就是这样做:

repositories {
    maven {
        url "$nexusUrl/content/groups/public"
    }
}

然后在每台开发人员的计算机上~/.gradle/gradle.properties进行此操作:

nexusUrl = https://nexus.company.com

然而,这看起来很黑,我仍然需要为每个项目添加5行。有更优雅的方式吗?

2 个答案:

答案 0 :(得分:14)

初始化脚本可能是最好的方法。请查看User Guide中的这一章。

它们为您提供了一种将逻辑注入所有项目的方法。

答案 1 :(得分:7)

the documentationabout init scripts中所述:

创建以.gradle结尾的文件夹和文件,例如:~/.gradle/init.d/mirror.gradle。 内容:

initscript {
  repositories {
     maven {
        url "http://repo.mycompany.com/maven2"
    }
  }
}