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

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

Что я пробовал до сих пор:

sudo ./myprojects/myapp/gradlew build

sudo ./myprojects/myapp/gradlew ./myprojects/myapp/build

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


person Marian Klühspies    schedule 03.09.2014    source источник
comment
Вам не нужно запускать сборку с помощью sudo.   -  person Radim    schedule 04.09.2014


Ответы (3)


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

person Peter Niederwieser    schedule 03.09.2014
comment
Спасибо, sudo ./myproject/myapp/gradlew -p / myproject / myapp / build работает;) есть ли причины для этих ограничений? В моих глазах это не имеет смысла - person Marian Klühspies; 03.09.2014
comment
Gradle необходимо знать текущий каталог проекта. В настоящее время в качестве каталога текущего проекта по умолчанию используется текущий рабочий каталог. Если я чего-то не упускаю, вместо этого должно быть возможно по умолчанию использовать ближайший каталог подпроекта. Однако это нужно делать внутри Gradle, потому что только Gradle знает, что такое каталоги подпроекта. - person Peter Niederwieser; 03.09.2014
comment
Чаще всего я запускаю задачи из оболочки, имеющей текущий каталог в корневом проекте, с помощью таких команд, как ./gradlew :myapp:test. - person Radim; 04.09.2014
comment
Хорошо, моя ошибка, не работает. После того, как я выполню команду, появится сообщение «Добро пожаловать в gradle ...» с сообщением «Сборка прошла успешно». - person Marian Klühspies; 09.09.2014
comment
решил это сейчас, используя cd /my/project/path/;./gradlew build - person Marian Klühspies; 09.09.2014


./usmobile-microservice/gradlew -p ./usmobile-microservice clean buildUI

./project_directory/gradlew -p ./project_directory clean build

работал на меня

person Servet Karabas    schedule 22.07.2020