Подтвердить что ты не робот

Gradle: получить папку, из которой был выполнен "gradle"

Я пытаюсь использовать задачи gradle как "OS agnostic shell- script". У меня нет проблем с написанием логики файла сборки, но я хотел бы иметь возможность запускать его из любой папки.

Моя первая попытка состояла в том, чтобы поместить папку с моим файлом build.gradle в путь, а затем попытаться выполнить:

gradle myMask

из папки, которая не содержит build.gradle, но это не работает.

Моя следующая попытка:

gradle -b /folder/containing/build.gradle myTask

Но это работало только в некоторой степени. В моей задаче я хотел бы найти все файлы в CURRENT DIRECTORY. current - означает не тот, который содержит build.gradle, а тот, из которого я выполняю "gradle....."

Я пробовал:

file(".")

и

file("$projectDir")

и еще несколько, но все они указывают на папку, содержащую build script, а не одну из который я выполняю.

Любые идеи, как я могу это сделать?

4b9b3361

Ответ 1

и победитель:

System.getProperty("user.dir")

Ответ 2

file ( "." ) всегда возвращает текущую папку проекта, которая не обязательно, а не рабочий каталог. Чтобы ссылаться на рабочий каталог, вы можете использовать:

new File(".").absolutePath

надеюсь, что это поможет!

Рене