我有一个gradle groovy项目,我只有一个不在源目录中的groovy脚本,而是一个单独的目录。另外,我有groovy junit测试,测试使用groovy shell调用它们的脚本。
我有一个运行测试的gradle构建,然后将脚本压缩成单独的zip文件并将它们上传到maven repo。问题是,gradle还会创建并上传jar文件。由于源目录中没有文件,因此jar仅包含生成的清单文件。
实际上我根本不需要jar。是否有可能将gradle配置为不为groovy项目创建jar文件?
我使用uploadArchives任务上传工件。
我的完整gradle配置:
group 'groupName'
version '1.0-SNAPSHOT'
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'maven'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.11'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
task scriptsZip(type: Zip) {
from 'scripts'
}
artifacts {
archives file: scriptsZip.archivePath, type: 'zip', classifier: 'scripts', builtBy: scriptsZip
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://C:\\testRepo")
}
}
}
答案 0 :(得分:1)
您可以使用play.plugins
条件修改jar
任务,以便在满足某些条件(或不符合条件)时跳过构建jar
onlyIf
在您的情况下,检查主源集中是否有任何源文件可能是有意义的:
jar {
onlyIf { /*some condition*/ }
}