Первый вариант
Что ж, если вы хотите изменить только проект, в котором вы развертываете, вы можете выполнить простую проверку условий в Gradle, непосредственно перед строкой appengine { ... }
, например:
if (project.hasProperty('testProject')) {
appengine.deploy.project = "my-awesome-project"
}else{
appengine.deploy.project = "main-project"
}
Не забудьте удалить тег «проект» внутри поля «appengine.deploy», чтобы не перезаписывать имя проекта, например:
appengine {
deploy {
stopPreviousVersion = true
promote = true
}
}
Чтобы развернуть приложение в своем тестовом проекте, вы можете просто добавить флаг:
gradle appengineDeploy -PnewProject
А для развертывания в основном проекте просто удалите его:
gradle appengineDeploy
То, что вы просили, - это создать свой собственный плагин, чтобы создать конкретную команду для развертывания в конкретном проекте, вы можете следовать официальной документации о том, как вы можете это сделать, однако я думаю, что это решение намного проще.
Второй вариант
Чтобы избежать использования флагов, вы можете добавить следующий код в файл build.gradle
после структуры appengine {...}
:
task appengineDeployTesting {
doLast{
appengine.deploy.project = "my-awesome-project"
}
}
appengineDeployTesting.finalizedBy appengineDeploy
Затем выполните команду:
gradle appengineDeployTesting
Сначала запустит задачу appengineDeployTesting
, а после завершения установит имя нового проекта и запустит задачу appengineDeploy
для развертывания.