我想知道如何以规范方式在使用 gradle 构建的发行版 zip 中包含自定义构建工件。我已经设法通过直接引用工件的路径来做到这一点,但我猜测有一些更好的方法来实现这一点:
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 }
}
}
}
关于gradle - 如何在 gradle 的分发中包含自定义工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34898488/