Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gradle复合构建:ant taskdef类路径中包含的构建中的JAR_Gradle_Ant_Build_Composite - Fatal编程技术网

gradle复合构建:ant taskdef类路径中包含的构建中的JAR

gradle复合构建:ant taskdef类路径中包含的构建中的JAR,gradle,ant,build,composite,Gradle,Ant,Build,Composite,projectfoo定义了一些在根项目中使用的ant任务。对于复合构建: 格雷德尔先生 includeBuild '../foo' 格雷德尔先生 configurations { foo } dependencies { foo fileTree(dir : '../foo/build/libs', include: ['*.jar']) } ant.taskdef(name: 'foo', classname: 'mypackage.Foo',

projectfoo定义了一些在根项目中使用的ant任务。对于复合构建:

格雷德尔先生

includeBuild '../foo'
格雷德尔先生

configurations {
    foo
}

dependencies {
    foo fileTree(dir : '../foo/build/libs', include: ['*.jar'])
}

ant.taskdef(name: 'foo',
        classname: 'mypackage.Foo',
        classpath: configurations.foo.asPath)
应在评估根项目之前构建包含的项目foo的jar,以便jar在ant taskdef类路径中可用。怎么做

但是任务依赖性处于执行阶段,如

  task run {
        dependsOn gradle.includedBuild('../foo').task(':jar')
    }

jar只有在任务执行后才可用,太晚了。

您可以在执行阶段配置ant taskdef,此时包含的项目已经生成。e、 g

task run {
    dependsOn gradle.includedBuild('../foo').task(':jar')
    doFirst {
        ant.taskdef(name: 'foo',
            classname: 'mypackage.Foo',
            classpath: configurations.foo.asPath)

        // call your ant target as usual
    }
}
即使有一种方法可以配置对复合子项目的评估时间依赖关系,您也会得到项目评估的巨大性能下降。即使是像
tasks
projects
这样的简单任务,也需要一个完整的ant任务构建——这显然不是您想要的