Gradle ant子项目依赖性排序

时间:2014-02-20 23:13:20

标签: ant gradle

我有一个包含6个子项目的项目,其中包含ant build.xml文件。我正在尝试编写一个顶级gradle文件,它将在所有项目上执行ant'default'任务,尊重它们的顺序依赖性。所以我在settings.gradle(这恰好是我希望它们运行的​​顺序)中有这个:

include 'core', 'api-web', 'execution', 'cluster', 'persistence', 'choreo-tests'

我在顶级build.gradle中有这个:

project(':api-web') {
    dependencies {
        compile project(':core')
    }
}

project(':execution') {
    dependencies {
        compile project(':api-web')
    }
}

project(':cluster') {
    dependencies {
        compile project(':execution')
    }
}

project(':persistence') {
    dependencies {
        compile project(':cluster')
    }
}

project(':choreo-tests') {
    dependencies {
        compile project(':persistence')
    }
}

然后每个目录在build.gradle中都有这个:

ant.importBuild 'build.xml'

但是,如果我尝试运行它:

gradle --info default

我得到了这个输出:

> Could not find method compile() for arguments [project ':core'] on org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@4d12bc7b.

我不明白,因为build.xml文件都有编译目标。我需要做些什么才能将ant build.xml文件加载到他们自己的命名空间中?

或者,更具体地说,在加载了包含从ant目标创建的gradle任务的子项目之后,如何指定子项目任务之间的依赖关系?我的每个build.xml都有一个'default'任务。如何指定'default'中的project(':api-web')任务取决于'default'的{​​{1}}任务?

0 个答案:

没有答案