Gradle对分发插件的distZip任务不做任何处理

问题描述:

Gradle的分发插件有问题。我只想使用插件将所有文件捆绑在一起(jar,shell脚本,...)。Gradle对分发插件的distZip任务不做任何处理

这里我的build.gradle:

apply plugin: 'eclipse' 
apply plugin: 'maven-publish' 
apply plugin: 'distribution' 

sourceCompatibility = 1.7 
targetCompatibility = 1.7 


publishing { 
    ... 
} 

repositories { 
    mavenCentral() 
} 

dependencies { 
    // public libraries 
    compile group: 'javax', name: 'javaee-api', version: '7.0' 
    compile group: 'javax.mail', name: 'javax.mail-api', version: '1.5.2' 
    compile group: 'commons-cli', name: 'commons-cli', version: '1.2' 
    compile group: 'org.apache.axis', name: 'axis', version: '1.4' 
    compile group: 'org.apache.axis', name: 'axis-jaxrpc', version: '1.4' 
    compile group: 'commons-discovery', name: 'commons-discovery', version: '0.4' 
    compile group: 'commons-logging', name: 'commons-logging', version: '1.1.1' 
    compile group: 'wsdl4j', name: 'wsdl4j', version: '1.6.2' 
    compile group: 'javax.xml.soap', name: 'saaj-api', version: '1.3' 
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.10' 

    runtime group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2' 

    // this is a dirty workaround 
    // because I don't have deploy rights on artifactory and nobody has time for deploying my artifacts 
    compile fileTree(dir: 'lib', include: '*.jar') 
} 

这里输出:

$ ./gradlew distTar 
Defaulting memory setting '-Xmx1024M'... 
:distZip UP-TO-DATE 

BUILD SUCCESSFUL 

Total time: 2.44 secs 

并没有任何反应。没有创建Zip文件。 我使用的是最新版本的Gradle(2.2.1)

对我来说重要的是,我可以使用插件的installDist选项。

任何想法发生了什么问题?

+0

你在'build'目录下检查过吗? – Opal 2015-02-11 14:29:03

我发现了什么问题是: 的distZip是行不通的,因为有没有文件或库被配置为打包到档案中。默认情况下,只考虑“src/$ distribution.name/dist”。其余必须指定。

要确保至少在项目的JAR文件是载过,我用了插件的“java库分配”,而不是“分配”

而且我指定多个文件来考虑:

distributions { 
    main { 
     contents { 
      from { 'distrib' } 
     } 
    } 
} 

如果您$buildDir是空的,你必须配置一个通讯:

distributions { 
    main { 
     baseName = 'someName' 
     contents { 
      from { 'src/readme' } 
     } 
    } 
} 

另见https://gradle.org/docs/current/userguide/distribution_plugin.html