我正在尝试从命令行将参数传递到uploadArchives任务中,以将 Artifact 上传到联系中。问题是pom groupid无法正确解析命令行参数。
我正在使用以下命令运行
gradle -Penvironment = dcdev4_106 -Pupload -PuserName = xxx -Ppassword = xxxx uploadArchives
uploadArchives {
repositories {
mavenDeployer {
configuration = configurations.archives
repository(url: "http://repo.xxx.net/nexus/content/repositories/maven-internal-snapshot/"){
if (project.hasProperty('upload')) {
authentication(userName: "${userName}", password: "${password}")
}
}
addFilter('artifact1') {artifact, file ->
artifact.name == 'artifact1'
}
addFilter('artifact2') {artifact, file ->
artifact.name == 'artifact2'
}
println "**** Inside uploading archives for ${environment}"
pom('artifact1').version = '1.0-SNAPSHOT'
//pom('artifact1').artifactId = '1.0-SNAPSHOT'
pom('artifact1').groupId = 'com.ngs.dcd.${environment}'
我在此行pom('artifact1')。groupId ='com.ngs.dcd。$ {environment}'遇到错误,其中未解析$ environment参数。我也看到它没有引发任何错误,并且在上述打印语句中打印良好。该问题仅在传递pom groupid时出现。不知道参数是否不能传递到pom属性中,或者是否有任何特殊语法
谢谢
最佳答案
在为此使用适当的语法做了一些尝试之后,我终于使它与以下语法一起使用。
pom('artifact1')。groupId ='com.ngs.dcd'+'。' + project.getProperties()。环境
关于gradle - 在uploadArchives任务中未读取命令行参数(pom属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264117/