如何使用Gradle构建2个jar工件?

时间:2018-01-30 23:59:23

标签: java gradle

我目前正在使用Gradle构建一个jar。我还生成了源代码和javadoc jar。到目前为止,一切都在书中。

现在我想创建一个额外的jar,它有不同的内容(忽略了几个类)。应使用分类器发布此jar。

来自build.gradle的小部件:

apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'osgi'
apply plugin: 'maven'
apply plugin: 'signing'
configurations {
    published
}
task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives jar
    archives sourcesJar
    archives javadocJar

    published jar
    published sourcesJar
    published javadocJar
}

我无法创建一个包含所有内容的额外jar:由OSGI插件更新的清单,更新的POM文件和签名。我能够生成一个额外的JAR,但该jar只是一个简单的存档,而不是由插件等签名/更新。

如何创建一个将使用分类器命名但被视为常规jar的附加jar(已签名,上传到maven central等等)?

我的尝试:

configure (java8Modules()) {
    configurations {
        java8
    }
    task code8Jar(type: Jar, dependsOn: classes) {
        classifier = 'java8'
        from sourceSets.main.output.classesDirs
    }
    artifacts {
        java8 code8Jar
        published code8Jar
    }
}

给了我一个罐子,但它没有签名,并且清单没有被修改。

0 个答案:

没有答案