Gradle 如何将javadoc jar收集到zip文件中
对于多项目Gradle项目,foo、bar和baz。我正在尝试创建一个任务,该任务创建一个包含库和javadoc的zip文件,即foo.jar和foo javadoc.jarGradle 如何将javadoc jar收集到zip文件中,gradle,Gradle,对于多项目Gradle项目,foo、bar和baz。我正在尝试创建一个任务,该任务创建一个包含库和javadoc的zip文件,即foo.jar和foo javadoc.jar ./build.gradle ./settings.gradle ./foo/build.gradle ./bar/build.gradle ./baz/build.gradle 格雷德尔酒店 include ":foo" include ":bar" include ":baz" 顶级构建 allprojects {
./build.gradle
./settings.gradle
./foo/build.gradle
./bar/build.gradle
./baz/build.gradle
格雷德尔酒店
include ":foo"
include ":bar"
include ":baz"
顶级构建
allprojects {
apply plugin: 'java'
task generateJavadoc (type : Javadoc) {
source = sourceSets.main.allJava
classpath = sourceSets.main.compileClasspath
failOnError = false
}
task javadocJar(type: Jar, dependsOn: generateJavadoc) {
classifier = 'javadoc'
from generateJavadoc.destinationDir
}
artifacts {
archives javadocJar
}
}
task buildZip(type: Zip, dependsOn: build) {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from (project(':foo').configurations.runtime) {
into 'jars'
}
from (project (':foo').configurations.archives.all) {
into 'jars'
}
}
当我用
gradlecleanbuildzip
调用它时,创建了一个zip文件,但没有我所期望的any-javadoc JARs。。。JavaDoc jar被生成到项目构建目录中,例如foo/build/lib/foo-JavaDoc.jar我已经尝试了fromproject(“:foo”)的多种组合。工件
等。这可以通过以下方法实现。注意javadocJar
是在allprojects
块中定义的任务的名称
from (rootProject.allprojects.javadocJar.outputs) {
into 'javadoc'
}