在我的maven settings.xml中,有以下行:
<server>
<id>releases</id>
<username>myname</username>
<password>mypassword</password>
</server>
并且,在maven构建中定义:
<distributionManagement>
<repository>
<uniqueVersion>true</uniqueVersion>
<name>Local repo on Banana</name>
<id>releases</id>
<url>http://banana.com:8081/nexus/content/repositories/releases</url>
<layout>default</layout>
</repository>
</distributionManagement>
在gradle中,您可以通过以下方式定义存储库引用:
repositories {
mavenDeployer {
repository (url: "http://banana.com:8081/nexus/content/repositories/releases", id: "releases"){
//...filler...
}
}
}
问题是,可以gradle引用系统上的主settings.xml文件吗?
(因此会自动提取与存储库ID匹配的凭据,就像maven一样一样)
到目前为止,我能找到提供身份验证凭据的唯一方法是在gradle.build中明确列出它们......就像这样:
repositories {
mavenDeployer {
repository (url: "http://banana.com:8081/nexus/content/repositories/releases", id: "releases"){
authentication(userName: "billybob", password: "bananas?!")
}
}
}
我目前的计划是引用环境变量,但我希望有一种方法可以引用现有的settings.xml定义。
答案 0 :(得分:0)
将以下行添加到gradle.properties文件中:
repoUser=user123
repoPassword=123abc
然后在build.gradle中添加以下内容:
repositories {
maven {
credentials {
username repoUser
password repoPassword
}
url "http://nexus........."
}
}