我目前正在使用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
}
}
给了我一个罐子,但它没有签名,并且清单没有被修改。