Gradle 对分发插件的 distZip 任务不执行任何操作
Gradle does nothing on distZip task from distribution plugin
我对 Gradle 的分发插件有疑问。我只想使用插件将我的所有文件捆绑在一起(jar,shell-脚本,...)。
这是我的 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 选项。
任何想法出了什么问题?
如果你的$buildDir
是空的,你必须配置一个分布:
distributions {
main {
baseName = 'someName'
contents {
from { 'src/readme' }
}
}
}
另见 https://gradle.org/docs/current/userguide/distribution_plugin.html
我发现了问题所在:
distZip
没有工作,因为没有配置要打包到存档中的文件或库。默认情况下,仅考虑 src/$distribution.name/dist
。其余必须指定。
为了确保至少包含项目的 jar 文件,我使用了插件 "java-library-distribution" 而不是 "distribution"
此外,我指定了更多要考虑的文件:
distributions {
main {
contents {
from { 'distrib' }
}
}
}
我对 Gradle 的分发插件有疑问。我只想使用插件将我的所有文件捆绑在一起(jar,shell-脚本,...)。
这是我的 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 选项。
任何想法出了什么问题?
如果你的$buildDir
是空的,你必须配置一个分布:
distributions {
main {
baseName = 'someName'
contents {
from { 'src/readme' }
}
}
}
另见 https://gradle.org/docs/current/userguide/distribution_plugin.html
我发现了问题所在:
distZip
没有工作,因为没有配置要打包到存档中的文件或库。默认情况下,仅考虑 src/$distribution.name/dist
。其余必须指定。
为了确保至少包含项目的 jar 文件,我使用了插件 "java-library-distribution" 而不是 "distribution"
此外,我指定了更多要考虑的文件:
distributions {
main {
contents {
from { 'distrib' }
}
}
}