在gradle项目中使用archivesBaseName无效

时间:2013-09-23 17:40:42

标签: groovy gradle

我试图命名由gradle构建的工件。看看这个build.gradle

archivesBaseName='this_is_ignored'
apply plugin: 'groovy'
archivesBaseName='this_is_also_ignored'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.+'
}

我也试过gradle.properties

archivesBaseName=`this_is_ignored_too`

在每种情况下./gradlew build都会根据项目所在的文件夹生成一个.jar文件(据我所知它是project.name,我只是希望用archivesBaseName覆盖它)。

换句话说,我想:

~/gradle-helloworld > ./gradlew build

生成this_is_ignored.jar,但它会生成gradle-helloworld.jar

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

(将Peter的评论转为CW答案。)

如果在应用插件之前设置archivesBaseName,则会引入动态属性(提供弃用警告)。然后,这个动态属性将影响插件引入的属性,这就是为什么第二个赋值也没有产生预期效果的原因。解决方案是仅在应用插件后设置属性