3

我的项目结构看起来像

Root + subproj1
     + subproj2

在每个子项目中定义了自己的任务 run(){}。我要做的是从 Root 项目的运行任务并行运行 :subproj1:run, :subproj2:run 。我尝试在根项目的 build.gradle

task run(){
  def threads = 2
  def tasks = [ ":subproj1:run", ":subproj2:run" ]
  tasks.each {
    new Thread(){
      public void run(){
        dependsOn it
      }
    }.start();
  }
}

但它有一个例外

Exception in thread "Thread-12" org.gradle.api.UnknownProjectException:
Project with path ':subproj1:run' could not be found in root project 'ROOT'

我如何从根项目并行运行子项目的任务?

4

2 回答 2

2

使用 gradle 2.1 它应该可以开箱即用。一种解决方案是 --parallel 就像 Perryn 所说的那样,或者您将 org.gradle.parallel:true 设置为您的 gradle.properties。然后你应该能够在根项目中运行“gradle run”,并且两者都应该并行执行。

我还将 undeclared-project-coupling=fail 放入 gradle.properties 以了解它们是否耦合并且不能并行执行。

于 2014-11-03T15:25:33.823 回答
0

您是否尝试过查看 --parallel 命令行选项?

于 2014-02-12T08:58:25.413 回答