对于如何将胖JAR发布到JitPack并不直观,因为影子文档没有JitPack的部分,JitPack文档也没有关于fat JAR的部分。
所有的文档都说,如果包含maven-publish,那么它们将执行任务publishToMavenLocal。
通常情况下,shadowJar fat jar是通过gradle shadowjar创建的,但是JitPack上的构建命令是不可配置的,因此我们必须修改publishToMavenLocal以使用shadowJar。
发布于 2018-04-07 02:26:09
我向JitPack提出了支持请求,他们返回了以下代码,我已经测试了这些代码在2018/04/12期间可以正常工作:
plugins {
id "com.github.johnrengelman.shadow" version "2.0.2"
}
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow'
group = 'com.github.jitpack-io'
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.guava:guava:18.0'
testCompile 'junit:junit:4.12'
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
shadowJar {
archiveName = "$baseName-$version.$extension"
}
artifacts {
archives sourcesJar
archives javadocJar
archives shadowJar
}他们已经通过GitHub发布了代码。
它还可以与gradle包装器结合使用:
allprojects {
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionType = Wrapper.DistributionType.ALL
}
}发布于 2018-05-15 13:36:14
可能有点晚了,但我让它运行了,只是像这样将工件添加到发布部分:
publishing {
publications {
mavenJava(MavenPublication) {
groupId project.group
artifactId project.name
version project.version
from components.java
artifact sourceJar {
classifier "sources"
}
artifact shadowJar
}
}....https://stackoverflow.com/questions/49698961
复制相似问题