我正在使用以下设置:
在完成delombok之后,我想将sourceJar上传到联系。
对于Maven发布,我使用以下内容:
task javadocJar(type: Jar) {
from javadoc.destinationDir
classifier = 'javadoc'
}
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
classifier = 'sources'
}
...
publications {
maven(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
}
}
上传到nexus的来源与我的原始来源只是一对一的。如何更改配置,以使上传的源成为delombok源?
答案 0 :(得分:4)
这是一个独立的示例,该示例生成所需的delomboked源JAR,并将其发布到Maven存储库(使用./gradlew publishMavenPublicationToMyRepoRepository
):
plugins {
id 'java'
id 'maven-publish'
id 'io.freefair.lombok' version '3.1.4'
}
group = 'com.example'
version = '0.1'
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.6'
annotationProcessor 'org.projectlombok:lombok:1.18.6'
}
task javadocJar(type: Jar) {
from javadoc.destinationDir
classifier = 'javadoc'
}
task sourcesJar(type: Jar) {
///////////////////////////////////////////////
// This is the relevant change:
from sourceSets.main.delombokTask
///////////////////////////////////////////////
classifier = 'sources'
}
publishing {
repositories {
maven {
name = 'myRepo'
url = 'file:///tmp/myRepoDir'
}
}
publications {
maven(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
}
}
}
请注意,该示例不使用“ nexus publish”,而是仅发布到简单的文件系统存储库。据我了解您的问题,实际的上传不是问题,而是创建代销源JAR。