如何用gradle构build源代码jar

我正在用一个用gradle构build的开源项目。 我想生成一个(项目)-sources.jar文件,我可以加载到我的IDE(IntelliJ IDEA)和debugging通过项目。 我知道如何加载文件,如果我可以生成它。

我已经查看了项目的可用gradle任务,没有一个生成源jar文件。

为这个项目生成源代码jar文件最简单的方法是什么?

将源代码添加到包含已编译类文件的jar文件中也可以。

task sourcesJar(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 } 

如果您使用Android:

 task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' } task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } artifacts { archives javadocJar archives sourcesJar } 

从这里

如果您希望将源代码添加到已编译的类JAR文件中 ,您也可以接受这一点,那么可以轻松完成。 只需将以下内容添加到您的构build文件。 你可以从理论上看到,把源代码放到一个单独的JAR中是非常类似的:

  jar { from sourceSets.main.allSource } 

不同之处在于你通过用“jar”代替sourcesJar来将它添加到主JAR文件中。

这应该工作

 assemble.dependsOn 'propertyJar' task propertyJar(type: Jar) { archiveName = "myJarName.jar" from('src/main/resources') { include '**' }}