如何将dependencies部分中的所有源JAR复制到gradle中的目录

如何将dependencies部分中的所有源JAR复制到gradle中的目录,gradle,Gradle,我可以复制依赖项部分中的所有JAR以进行“编译”配置,如下所示 task('copyJars') { ext.collection = files { genLibDir.listFiles() } delete ext.collection copy { from configurations.compile into genLibDir } } 但是我如何将他们的源jar文件复制到某个地方呢 谢谢, Dean从Gradle 1.0开始,我不知道有什么简单的方法可以

我可以复制依赖项部分中的所有JAR以进行“编译”配置,如下所示

task('copyJars') { 
    ext.collection = files { genLibDir.listFiles() }
    delete ext.collection
    copy { from configurations.compile into genLibDir }
}
但是我如何将他们的源jar文件复制到某个地方呢

谢谢,
Dean

从Gradle 1.0开始,我不知道有什么简单的方法可以处理第三方来源的JAR。您可以将它们添加为显式依赖项(到单独的配置中),也可以对Gradle缓存进行爬网

顺便说一下,
delete ext.collection
位于错误位置。它将在配置阶段执行,并将删除文件,无论将执行哪些任务。(另外,
listFiles()
将为每个生成调用。)


另外,主要目的是复制的任务应该始终使用
Copy
任务类型,而不是
Copy
方法。

从Gradle 1.0开始,我不知道有什么简单的方法可以处理第三方源JAR。您可以将它们添加为显式依赖项(到单独的配置中),也可以对Gradle缓存进行爬网

顺便说一下,
delete ext.collection
位于错误位置。它将在配置阶段执行,并将删除文件,无论将执行哪些任务。(另外,
listFiles()
将为每个生成调用。)


另外,主要目的是复制的任务应该始终使用
Copy
任务类型,而不是
Copy
方法。

那么,我应该如何更好地重写任务,以避免每次生成都调用listFile()?如果开发人员将文件添加到该目录中,是否需要调用listFile()?如何重写它,使其仅在将文件添加/删除到genLibDir中时才运行?那么,如何更好地重写该任务,以避免对每个生成调用listFile()?如果开发人员将文件添加到该目录中,是否需要调用listFile()?如何重写它,使其仅在添加/删除到genLibDir中的文件时运行?请参见此处的我的答案:请参见此处的我的答案: