gradle - Gradle Maven 发布到 nexus delombok 源代码
问题描述
我正在使用以下设置:
- 毕业 5.2.1
- 联系发布
- 龙目岛 1.18.6
- lombok gradle 插件 io.freefair.lombok 3.1.4
delombok 完成后,我想将 sourceJar 上传到 nexus。
对于 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 源?
解决方案
这是一个独立的示例,它生成所需的 deomboked 源 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”,而是简单地发布到一个简单的文件系统存储库。据我了解您的问题,实际上传不是问题,而是创建 delomboked 源 JAR。
推荐阅读
- postgresql - 为什么 App Engine 无法连接到 Compute Engine 虚拟机实例?
- azure - 使用 RDP 下载文件连接错误:由于以下原因之一,访问远程桌面无法连接到远程计算机
- rest-assured - 如何绕过错误并解析 json 字段值
- java - 计算数字的位数
- unity3d - 在 Unity3D 和 HoloLens 中从 EventHub 读取事件
- openstack - 为什么 Gnocchi 将 'server_group' 缓慢应用于资源?
- c# - 使用数据注释使复选框成为必需
- r - 为什么我的矩阵不能从字符转换为数字?
- python - 数据流的数据测试框架(deequ vs Great Expectations)
- javascript - 谷歌地图 - 在 MySQL 和 PHP 中搜索 POINTS 圈