Команда gradle имеет несколько флагов для настройки своего окружения [1]. Среди них --build-file
и --settings-file
. Но я не могу заставить их работать так, как я ожидаю.
Я ожидал, что сработает следующее
$ cat <<-EOF > alt-settings.gradle
rootProject.name = 'custom-name'
EOF
$ cat <<-EOF > alt-build.gradle
task test { /* ... */ }
EOF
$ gradle \
--settings-file alt-settings.gradle \
--build-file alt-build.gradle \
tasks --all
Но это вызывает исключение
Build file './alt-build.gradle' is not part of the build defined by settings file './alt-settings.gradle'. If this is an unrelated build, it must have its own settings file.
Если я опущу --settings-file
из вышеприведенной команды Вещи работают, и gradle подхватывает alt-build.gradle
.
Что не так и как это исправить?
В идеале Я хотел бы иметь возможность запускать gradle
, даже если есть файл settings.gradle, который не работает. Например, в следующем сенарио
$ cat <<-EOF > alt-build.gradle
task test { /* ... */ }
EOF
$ cat <<-EOF > alt-settings.gradle
rootProject.name = 'custom-name'
EOF
$ cat <<-EOF > settings.gradle
This will not compile
EOF
$ cat <<-EOF > build.gradle
This will not compile
EOF
$ gradle \
--settings-file alt-settings.gradle \
--build-file alt-build.gradle \
tasks --all
[1] https://docs.gradle.org/current/userguide/command_line_interface.html#environment_options