Groovy 使用Gradle创建一个仅限胖源的jar

Groovy 使用Gradle创建一个仅限胖源的jar,groovy,jar,gradle,fat,Groovy,Jar,Gradle,Fat,我需要使用Gradle创建一个包含依赖项(胖jar)的jar 要点:jar只需要包含straight.groovy文件。。。没有。类文件 我从Gradle食谱中看到了这样做的方法: 还有一个Jar插件: 但这两种方法都涉及使用编译的.class文件而不是实际的源.groovy文件。而且,我不需要这个罐子可以运行。我只需要能够引用我的.groovy脚本,并且已经有了它们的依赖项 这可能吗?我不确定您是否需要一个.jar文件,或者一个.zip文件就足够了,因为在.jar中分发源代码会让人感到困惑。

我需要使用Gradle创建一个包含依赖项(胖jar)的jar

要点:jar只需要包含straight.groovy文件。。。没有。类文件

我从Gradle食谱中看到了这样做的方法:

还有一个Jar插件:

但这两种方法都涉及使用编译的.class文件而不是实际的源.groovy文件。而且,我不需要这个罐子可以运行。我只需要能够引用我的.groovy脚本,并且已经有了它们的依赖项


这可能吗?

我不确定您是否需要一个.jar文件,或者一个.zip文件就足够了,因为在.jar中分发源代码会让人感到困惑。但与您的需要无关,Zip任务是您想要的:

task('fatJar', type: Zip) {
    extension = 'jar' // overriding default value: 'zip'
    classifier = 'fat' // alternatively you can set basename or appending

    from(sourceSets.main.allGroovy) // will fail if the groovy plugin isn't applied
    from(configurations.runtime) // this includes all your jars needed on runtime
}
现在,这是一个非常简单的示例,它将在build/distributions/中创建一个名为[projectName]-[version]-fat.jar的文件,所有jar都位于zip的根目录中,groovy源文件就在其旁边。您可能需要查看的文档以了解更多选项