如何在gradle中的分发中包含自定义工件
我想知道如何在使用gradle以规范方式构建的发行版zip中包含自定义构建工件。我通过直接引用工件的路径成功地做到了这一点,但我猜有更好的方法来实现这一点:如何在gradle中的分发中包含自定义工件,gradle,Gradle,我想知道如何在使用gradle以规范方式构建的发行版zip中包含自定义构建工件。我通过直接引用工件的路径成功地做到了这一点,但我猜有更好的方法来实现这一点: task sourcesJar(type: Jar, dependsOn: tasks.classes) { classifier 'sources' from sourceSets.main.allSource } tasks.distZip.shouldRunAfter tasks.sourcesJar tasks.d
task sourcesJar(type: Jar, dependsOn: tasks.classes) {
classifier 'sources'
from sourceSets.main.allSource
}
tasks.distZip.shouldRunAfter tasks.sourcesJar
tasks.distTar.shouldRunAfter tasks.sourcesJar
artifacts {
archives sourcesJar
}
distributions {
main {
contents {
from { "${libsDir}/${project.name}-${version}-sources.jar" }
}
}
}
如何根据其定义引用源工件的名称,或者是否有更好的方法将构建工件包含在发行版中?可能是这样的:
apply plugin: 'java'
apply plugin: 'distribution'
task sourcesJar(type: Jar, dependsOn: tasks.classes) {
classifier 'sources'
from sourceSets.main.allSource
}
tasks.distZip.shouldRunAfter tasks.sourcesJar
tasks.distTar.shouldRunAfter tasks.sourcesJar
artifacts {
archives sourcesJar
}
distributions {
main {
contents {
from { tasks.sourcesJar.archivePath }
}
}
}
您也可以直接引用jar任务,如下所示:
distributions {
main {
contents {
from { sourcesJar }
}
}
}