Gradle:在已发布的dist.zip的/ lib文件夹中添加sources.jar文件以及所有其他依赖项

时间:2015-06-19 00:41:24

标签: java maven jar gradle

我有一个使用gradle构建的java项目。我正在为我的项目发布一个dist.zip文件夹,我想将我的项目的sources.jar添加到dist.zip中的/ lib子文件夹中。我可以创建一个sources.jar文件和我的dist.zip文件,但我不知道如何在dist.zip中添加sources.jar。我怎样才能做到这一点?我在创建它之后尝试将.jar复制到/ lib文件夹中,但是我无法让它工作。下面是我的gradle.build脚本中的publish和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"
            }
        }

    }
}

1 个答案:

答案 0 :(得分:2)

您需要告诉application plugin在分发中包含sourcesJar任务的输出:

distributions {
    main {
        contents {
            from sourcesJar
        }
    }
}

这会将它放在根目录中,如果你想在其他地方你可以这样做:

distributions {
    main {
        contents {
            from(sourcesJar) {
                into "lib"
            }
        }
    }
}