我有一个Gradle项目,我创建了一个常规类jar,还有一个javadoc和源代码jar。
在这三个文件中,我需要包含一个META-INF文件夹,其中包含一个LICENSE和NOTICE文件。
我有这个文件夹,其中包含src/main/资源/下的文件
jar类和源代码jar正常工作,但我也需要将它们添加到javadocjar。
如何修复javadocJar任务以包含META-INF文件夹?
// custom tasks for creating source/javadoc jars
task sourcesJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn:javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
// add javadoc/source jar tasks as artifacts
artifacts {
archives sourcesJar
archives javadocJar
}
我确实通过添加复制任务得到了我需要的东西,但如果我可以只选择META-INF目录,以防我在资源下添加更多目录,那就太好了。
// custom tasks for creating source/javadoc jars
task sourcesJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task copyResources(type: Copy, dependsOn:javadoc) {
into javadoc.destinationDir
from sourceSets.main.resources
}
task javadocJar(type: Jar, dependsOn:copyResources) {
classifier = 'javadoc'
from javadoc.destinationDir
}