2014-02-12 6 views
3

моего проекта похожGradle: задачи выполняются подпроект в параллельной структуре

Root + subproj1 
    + subproj2 

в каждом субпроекту определил свое выполнение задания() {}. Что я пытаюсь сделать, так это выполнить: subproj1: run,: subproj2: запустить параллельно из задачи запуска проекта Root. Я пытался в 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' 

Как я могу запустить задачу к югу проекта параллельно с корневым проекта?

+0

Почему вы не можете просто называть 'Thread.start'? Зачем вам нужен новый Thread() ... public void run() ... '. –

ответ

0

Вы пробовали посмотреть на вариант --parallel командной строки?

2

С градиентом 2.1 он должен работать из коробки. Одно из решений - параллельное, как сказал Перрин, или вы установили org.gradle.parallel: true в свои gradle.properties. И тогда вы должны иметь возможность запускать «прогон градиента» в корневом проекте, и оба должны выполняться параллельно.

Я также установил uneclared-project-connection = fail в gradle.properties, чтобы знать, связаны ли они и не может выполняться параллельно.

Смежные вопросы