将 META-INF 资源包含在 gradle 中的 javadoc jar 中



我有一个 Gradle 项目,我创建了一个常规类 jar,还有一个 javadoc 和 sources jar。

在所有三个中,我都需要包含一个包含许可证和通知文件的 META-INF 文件夹。

我有这个文件夹,其中包含 src/main/resources/下的文件

类 jar 和源代码 jar 工作正常,但我还需要将它们添加到 javadoc jar 中。

如何修复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
}

最新更新