有没有办法在gradle中自动引用maven settings.xml?

时间:2015-07-09 21:55:42

标签: maven gradle

在我的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定义。

1 个答案:

答案 0 :(得分:0)

将以下行添加到gradle.properties文件中:

repoUser=user123
repoPassword=123abc

然后在build.gradle中添加以下内容:

repositories {
maven {
    credentials {
        username repoUser
        password repoPassword
    }
    url "http://nexus........."
}

}