Gradle:gradle 使用 javadocs 安装

Gradle: gradle install with javadocs

我正在使用 Gradle maven 插件构建一个用于另一个不相关项目的工件。除了内置的 .jar 工件,我还想生成并安装 -javadoc.jar 工件。

使用gradle clean build javadoc install在本地build文件中生成JavaDoc,并将构建的工件安装到本地仓库,但目前不构建和安装-javadoc.jar 旁边。

有没有办法在 Gradle 中使用 mavenjavadoc 插件来做到这一点?我不介意编写一个自定义任务来完成它,但我宁愿使用 "officially supported" 方式(如果存在的话)。

build.gradle 文件:

project.group = "org.example.artefact"
project.version = "1.0-SNAPSHOT"

apply plugin: 'java'
apply plugin: 'maven'

dependencies {
    // ...
}

uploadArchives {
    repositories {
        mavenDeployer {
            // Custom repository location
            repository(url: "file:///home/user/.m3/repository")
        }
    }
}

Javadoc 由 javadoc task 生成(我认为您错误地将其称为插件)。当 运行 buildinstall 时,默认情况下不会实际执行此任务。此外,您需要定义一个 jar 任务来捆绑 javadoc,并告诉您的构建通过将其添加到 artifacts {...} 块来发布该工件。

task javadocJar(type: Jar) {
    classifier = 'javadoc'
    from javadoc
}   

artifacts {
    archives javadocJar
}

运行 install 然后应该创建 javadoc jar 并将其发布到 maven 本地。此外,运行 uploadArchives 会将该工件发布到任何已配置的存储库。

编辑: 已更新以添加 javadoc jar 任务的定义。