在Gradle groovy脚本项目中跳过构建jar

时间:2016-02-14 11:21:42

标签: gradle groovy

我有一个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")
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用play.plugins条件修改jar任务,以便在满足某些条件(或不符合条件)时跳过构建jar

onlyIf

在您的情况下,检查主源集中是否有任何源文件可能是有意义的:

jar {
   onlyIf { /*some condition*/ }
}