2014-09-03 4 views
8

Я пытаюсь построить проекты градиента из других мест, кроме самой папки проекта, но всегда говорит, что не может найти задачу сборки.Выполнять задачу построения градиента из любого места

Что I've пытался до сих пор:

Судо ./myprojects/myapp/gradlew построить

Sudo ./myprojects/myapp/gradlew ./myprojects/myapp/build

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

+0

Вам не нужно запускать сборку с помощью sudo. – Radim

ответ

11

Различные люди написали (и опубликовали) скрипты для выполнения gradlew из любого каталога подпроектов (в многопроектной сборке). Чтобы надежно выполнить Gradle из любого подкаталога, необходимо установить «текущий каталог проекта» через -p. Было бы неплохо, если бы это ограничение было отменено (это сделало бы хороший запрос функции).

+1

Спасибо, с sudo ./myproject/myapp/gradlew -p/myproject/myapp/build it works;) Есть ли причины для этих ограничений? Это не имеет смысла в моих глазах –

+1

Gradle должен знать, что такое «текущий каталог проекта». В настоящее время «текущий каталог проекта» по умолчанию соответствует текущему рабочему каталогу. Если я что-то не упустил, у вас должно получиться по умолчанию вместо «ближайшего каталога подпроектов». Однако это нужно делать внутри Gradle, потому что только Gradle знает, что такое подпроектные каталоги. –

+1

Чаще всего я запускаю задачи из оболочки, имеющей текущий каталог в корневом проекте, используя команды типа. ./gradlew: myapp: test'. – Radim

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