创建一个 Gradle 设置以在 Jitpack 上发布带有源代码的依赖项? (Gradle 5.6.2)

Create a Gradle setup to publish dependency with source code on Jitpack ? (Gradle 5.6.2)

我想发布一个小型库,但我很难找到一个解决方案来发布我的源代码以及对 jitpack.io 的依赖。

class 个文件可用,但没有其他文件可用。

这是我的 Gradle 文件:


plugins {

    id 'java-library'
    id 'maven-publish'
}

repositories {

    jcenter()
    mavenCentral()
}
//Problem part
task sourceJar(type: Jar, dependsOn: classes) {
    classifier 'sources'
    from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}
//Problem part 
dependencies {
    api 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.google.guava:guava:27.0.1-jre'
    compile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.28.0'
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    compile group: 'org.reflections', name: 'reflections', version: '0.9.11'    

}

我的 Gradle 文件有问题吗?或者有人有什么建议,我可以在哪里查找这个问题?

解决方案是发布配置。

只需将任务和工件替换为:


task sourcesJar(type: Jar) {
    from sourceSets.main.allJava
    archiveClassifier.set("sources")
}
task javadocJar(type: Jar, dependsOn: javadoc) {
     archiveClassifier.set("javadoc")
    from javadoc.destinationDir
}

publishing {
      publications {
          mavenAar(MavenPublication) {
                from components.java
                afterEvaluate {
                    artifact javadocJar
                    artifact sourcesJar
                }
          }
     }
}


现在您可以通过 Jitpack.io 在 Github 上 publish/release,它将附加资源和文档。