Gradle:在已发布的 dist.zip 的 /lib 文件夹中添加 sources.jar 文件以及我的所有其他依赖项
Gradle: Adding sources.jar file within /lib folder of published dist.zip along with all my other dependencies
我有一个正在使用 gradle 构建的 java 项目。我正在为我的项目发布一个 dist.zip 文件夹,我想将我项目的 sources.jar 添加到 dist.zip 中的 /lib 子文件夹。我可以创建一个 sources.jar 文件和我的 dist.zip 文件,但我不确定如何在 dist.zip 中添加 sources.jar。我怎样才能做到这一点?我试图在创建后将 .jar 复制到 /lib 文件夹中,但我无法让它工作。下面是我的 gradle.build 脚本中的发布和 sourcesJar 任务。
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
publishing {
repositories {
maven {
url 'localfolder'
}
}
publications {
maven(MavenPublication) {
groupId 'ca.project'
artifactId applicationName
version version
from components.java
artifact sourcesJar {
classifier "sources"
}
artifact distZip {
classifier "dist"
}
}
}
}
您需要告诉 application plugin 在分发中包含您的 sourcesJar
任务的输出:
distributions {
main {
contents {
from sourcesJar
}
}
}
这会将它放在根目录中,如果你想把它放在其他地方,你可以这样做:
distributions {
main {
contents {
from(sourcesJar) {
into "lib"
}
}
}
}
我有一个正在使用 gradle 构建的 java 项目。我正在为我的项目发布一个 dist.zip 文件夹,我想将我项目的 sources.jar 添加到 dist.zip 中的 /lib 子文件夹。我可以创建一个 sources.jar 文件和我的 dist.zip 文件,但我不确定如何在 dist.zip 中添加 sources.jar。我怎样才能做到这一点?我试图在创建后将 .jar 复制到 /lib 文件夹中,但我无法让它工作。下面是我的 gradle.build 脚本中的发布和 sourcesJar 任务。
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
publishing {
repositories {
maven {
url 'localfolder'
}
}
publications {
maven(MavenPublication) {
groupId 'ca.project'
artifactId applicationName
version version
from components.java
artifact sourcesJar {
classifier "sources"
}
artifact distZip {
classifier "dist"
}
}
}
}
您需要告诉 application plugin 在分发中包含您的 sourcesJar
任务的输出:
distributions {
main {
contents {
from sourcesJar
}
}
}
这会将它放在根目录中,如果你想把它放在其他地方,你可以这样做:
distributions {
main {
contents {
from(sourcesJar) {
into "lib"
}
}
}
}