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

时间:2016-02-08 01:28:42

标签: gradle

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

在所有三个中,我需要包含一个包含LICENSE和NOTICE文件的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
}

1 个答案:

答案 0 :(得分:0)

我确实通过添加复制任务得到了我所需要的东西,但如果我在资源下添加更多目录,我可以选择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
}