我尝试按照他们的示例遵循 gradle 手册,但 copyJars 在 eclipse 任务之前根本没有运行。 (Eclipse 任务来自 Eclipse 插件)
task('copyJars') {
ext.collection = files { genLibDir.listFiles() }
delete ext.collection
copy { from configurations.compile into genLibDir }
copy { from fixedLibDir into genLibDir }
}
eclipse.dependsOn = copyJars
task('setupAll', dependsOn: 'eclipse') {
description = 'Update jars from remote repositories and then fix eclipse classpath for stbldfiles project'
}
此构建脚本存在一些问题:
-
eclipse
不引用任务,而是引用同名的模型对象。(你不是eclipse.dependsOn
例外吗? - 任务
copyJars
在配置阶段而不是执行阶段(即对于每个构建,即使任务未执行)完成其工作
要解决此问题,请使用 tasks.eclipse.dependsOn(copyJars)
和 task copyJars << { ... }
.
另一个问题是,如果没有比用copyJars
复制东西并在事后修复 Eclipse 类路径更简单的方法,但我需要更多的信息才能分辨出来。