Tôi đang cố gắng đặt tên cho tạo phẩm được xây dựng theo gradle. Nhìn vào build.gradle
này:Sử dụng archivesBaseName trong một dự án gradle không có hiệu lực
archivesBaseName='this_is_ignored'
apply plugin: 'groovy'
archivesBaseName='this_is_also_ignored'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.+'
}
Tôi cũng đã cố gắng trong gradle.properties
:
archivesBaseName=`this_is_ignored_too`
Trong mọi trường hợp ./gradlew build
tạo ra một file .jar dựa trên thư mục nơi cư trú của dự án (mà như tôi hiểu nó là project.name
, Tôi chỉ hy vọng sẽ ghi đè điều đó với archivesBaseName
).
Nói cách khác, tôi muốn:
~/gradle-helloworld > ./gradlew build
để tạo this_is_ignored.jar
, nhưng nó tạo ra gradle-helloworld.jar
để thay thế.
Bất kỳ ý tưởng nào?
Nếu bạn đặt 'archivesBaseName' trước khi áp dụng plugin, bạn sẽ giới thiệu thuộc tính động (cung cấp cảnh báo không dùng nữa). Thuộc tính động này sau đó sẽ đổ bóng được giới thiệu bởi plugin, đó là lý do tại sao nhiệm vụ thứ hai không có hiệu ứng mong muốn. Giải pháp là chỉ đặt thuộc tính * sau * áp dụng plugin. –