如何覆盖任务使其依赖于我的一个gradle

时间:2012-06-20 21:32:22

标签: gradle

我尝试使用gradle手册和他们的示例,但是在eclipse任务之前,copyJars根本没有运行。 (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'
}

1 个答案:

答案 0 :(得分:3)

此构建脚本存在一些问题:

  • eclipse不是指任务,而是指同名的模型对象。 (你不能得到eclipse.dependsOn的例外吗?)
  • 任务copyJars在配置阶段而不是执行阶段(即每个构建,即使任务未执行)也能正常工作。

要解决此问题,请使用tasks.eclipse.dependsOn(copyJars)task copyJars << { ... }

另一个问题是,如果没有比使用copyJars复制内容更简单的方法并在事后修复Eclipse类路径,但我需要更多信息才能告诉。