在任务执行时更改任务属性

时间:2013-11-07 18:01:31

标签: gradle

我有一种情况需要在compileJava的类路径中添加一些jar文件,但是当这个任务最初在gradle中加载时,这些文件不可用。所以,如果我做这样的事情:

compileJava.classpath += files('path/to/file.jar')

...它不起作用,因为在启动gradle时加载compileJava时,path/to/file.jar不存在。在compileJava之前的一个步骤中,我将该jar文件复制到正确的位置,因此当compileJava运行时,该文件将可用...但是因为gradle在加载compileJava任务时没有找到它,所以它不会在类路径中。有没有办法更动态地设置任务的类路径?我试过这个:

compileJava {
    doFirst {
        classpath += files('path/to/file.jar')
    }
}

......但那没用。显然,对任务属性的修改没有生效。在任务的运行时间内是否可以访问该属性?这样做有更好的方法吗?也许使用dependencies

1 个答案:

答案 0 :(得分:0)

使用不存在的文件路径配置compileJava.classpath根本不是问题,并且不需要推迟它。构建脚本必定存在其他问题。