Después de observar en diversos repositorios y páginas de internet al terminar hallamos la resolución que te compartiremos aquí.
Solución:
Los documentos del complemento Spring Boot v2 Gradle proporcionan una respuesta:
6.1. Pasando argumentos a tu aplicación
Como todas las tareas de JavaExec, los argumentos se pueden pasar a bootRun desde la línea de comando usando
--args='
cuando usas Gradle 4.9 o posterior.'
Para ejecutar el servidor con el perfil activo establecido en desarrollador:
$ ./gradlew bootRun --args='--spring.profiles.active=dev'
Las variables de entorno se pueden usar para establecer las propiedades del resorte como se describe en la documentación. Entonces, para configurar los perfiles activos (spring.profiles.active
) puede usar el siguiente código en sistemas Unix:
SPRING_PROFILES_ACTIVE=test gradle clean bootRun
Y en Windows puedes usar:
SET SPRING_PROFILES_ACTIVE=test
gradle clean bootRun
La forma más sencilla sería definir el valor predeterminado y permitir que se anule. No estoy seguro de cuál es el uso de systemProperty en este caso. Los argumentos simples harán el trabajo.
def profiles = 'prod'
bootRun
args = ["--spring.profiles.active=" + profiles]
Para ejecutar dev:
./gradlew bootRun -Pdev
Para agregar dependencias en su tarea, puede hacer algo como esto:
task setDevProperties(dependsOn: bootRun) <<
doFirst
System.setProperty('spring.profiles.active', profiles)
Hay muchas maneras de lograr esto en Gradle.
Editar:
Configure archivos de configuración separados por entorno.
if (project.hasProperty('prod'))
apply from: 'gradle/profile_prod.gradle'
else
apply from: 'gradle/profile_dev.gradle'
Cada configuración puede anular tareas, por ejemplo:
def profiles = 'prod'
bootRun
systemProperty "spring.profiles.active", activeProfile
Ejecutar proporcionando prod
flag en este caso así:
./gradlew -Pprod
Al final de todo puedes encontrar los informes de otros gestores de proyectos, tú todavía puedes dejar el tuyo si lo crees conveniente.