Как добиться "eval" функциональности оболочки в Gradle - PullRequest
0 голосов
/ 23 декабря 2018

У меня работает скрипт gradle, который создает образ Docker (я использую плагин Transmode Docker, но я думаю, что это не имеет значения для моей проблемы).Мой скрипт gradle работает нормально, но теперь я хочу, чтобы он работал с minikube, поэтому для этого мне просто нужно сделать

eval $(minikube docker-env)

перед запуском команды gradle.Это заставляет команду «docker» работать с докером minikube, а не с исходным докером в моем Mac.

Проблема в том, что, когда я запускаю скрипты gradle из eclipse, это «eval $ (minikube docker-env)»Команду нужно как-то включить в скрипт gradle, так как она не может быть выполнена как команда bash перед выполнением gradle в Eclipse (нигде нет bash).Я попытался добавить:

commandLine 'eval','$(/usr/local/bin/minikube docker-env)'

Это не работает, возможно, потому что "eval" на самом деле не команда, а функция оболочки, которая выполняет возврат из команды в $ () как подкоманды.

Как я могу эмулировать это, чтобы моя команда gradle включала eval для настройки minikube?

1 Ответ

0 голосов
/ 23 декабря 2018

Если вы используете Gradle 4.9+, посмотрите, может ли помочь " Как передать аргументы из командной строки в gradle ":

./gradlew run --args="$(/usr/local/bin/minikube docker-env)"

Таким образом, вы избегаете иметь дело с eval внутри Gradle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...