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

标签 gradle

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

在这三个文件中,我都需要包括一个META-INF文件夹,其中包含一个LICENSE和NOTICE文件。

我有这个文件夹,其中文件位于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
}

关于gradle - 在gradle的javadoc jar中包含META-INF资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261262/

相关文章:

scala - 类路径中缺少“类型scala.collection.generic.GenericTraversableTemplate”

logging - 排除 ch.qos.logback 溢出

android - 签名库无法加载Gradle

基于 Kotlin 的 Gradle 脚本的 Android Lint 失败

Android Studio Gradle 产品 flavor

gradle - 使用扩展中的参数配置自定义插件

java - ClassNotFoundException 运行 jar 文件时但在 Intellij 中运行良好

android - 添加evernote库获得 list 合并失败com.android.support:support-compat:28.0.0

scala - Gradle 突然破裂

java - 无法从 '13.0.1' 确定 java 版本