2013-07-26 2 views
3

У меня есть проект градиента с двумя модулями.Порядок выполнения модуля градля

Первый модуль (A) создает архив, который использует второй модуль (B). Я определил файл settings.gradle так, что А видел В.

В конце, есть install задача, которая называется, которая сделает архив для B, однако install задача не будет выполнена до все модули.

Когда я использую файл сборки A или задаю команду сборки -p, он все равно попытается найти зависимости для проекта B. Я не хочу этого делать!

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

ответ

2

Я определил settings.gradle файл так, что А видел В.

заказа не имеет значения здесь.

В конце, есть задачи установки, которая вызывается, которая сделает архив для B

Правильный способ справиться с этим сделать выходы доступны для B через зависимость от проекта . В простейшем случае, Б build.gradle будет содержать следующее:

dependencies { 
    compile project(":A") // could be something other than 'compile' 
} 

Когда я использую файл построить, либо установить команду сборки -p он все равно будет пытаться найти зависимости для проекта B.

Скорее всего, существует проблема с одним из ваших скриптов сборки, а именно, что он работает на этапе конфигурации , что должно быть выполнено на этапе выполнения .

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

Нет хорошего пути. Gradle выполняет график задач, а не список проектов. До тех пор, пока зависимостей задач правильны, у первых не будет недостатков, есть только преимущества. Часто Gradle может автоматически определять зависимости задач (особенно между проектами).

+0

трюк зависимости не работает, если модуль является только дистрибутивным проектом, к сожалению – spy

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