Construir Gradle getProperties antes de ejecutar la tarea ya realizada

votos
0

Estoy tratando de utilizar un proyecto Java, la serenidad-BDD con la versión Gradle 4.8+, pero la aplicación no está tirando de los argumentos de la CLI de -Denvironment y -Dservicebranches. Tengo estas propiedades como valores en blanco en mi archivo local.properties, y que no están recibiendo asignado cuando mis aplicación se ejecuta.

  • ./gradlew --build-cache acumulación -Dwebdriver.remote.url = $ {} SELENIUM_REMOTE_URL -Denvironment = $ {AMBIENTE} -Dservicebranches = $ {} SERVICE_BRANCHES -Dtags = $ {} TAGS

Tengo un archivo local.properties con propiedades que están siendo inyectados en la dependencia con éxito el proyecto (a través de la serenidad-primavera). Estoy esperando que estos argumentos CLI harán caso omiso de estos valores:

servicebranches=
environment=local

Pero en este momento, nada se especifica en los argumentos de la CLI no están siendo aprobada en el proyecto. Ya sea a través de DI, o por medio de agarrar de forma explícita las variables de entorno en el build.gradle, que lo que he intentado no ha estado trabajando.

Aquí hay algunas cosas que he tratado en el build.gradle:

//task integrationTests() {
//    doFirst
//        {
//            def environment = System.getProperty('environment')
//            def servicebranches = System.getProperty('servicebranches')
//        }
//    tasks.build.execute()
//}
//integrationTests.dependsOn(build)

//build.doFirst{
//    systemProperties System.properties
//    def environment = System.properties['environment']
//    environment = environment //This actually flags with 'Silly assignment'
//}

build.doFirst{
    def environment = System.getProperty('environment')
    def servicebranches = System.getProperty('servicebranches')
}

El último de ellos parece ser todavía falta un paso, ya que el programa sigue funcionando, pero los argumentos todavía no están llegando. Incluso he intentado -Denvironment = patata, y no hay errores venido porque yo no tengo una propiedad o propiedades de archivo con nombre que.

También he intentado usar la etiqueta -P en lugar de la etiqueta -D, pero eso no parece estar funcionando bien.

Todo lo que estoy tratando de hacer es usar build.gradle utilizar System.getProperty ( 'medio ambiente') y System.getProperty ( 'servicebranches') antes de utilizar la tarea ya creada 'construir' que viene con serenidad. ¿Cómo puedo hacer esto? Cómo puedo crear una tarea totalmente nueva, donde utilizo estos getProperties, y luego llamar a la tarea de construir? ¿Tengo que especificar la asignación de estas mismas variables con nombre en el archivo local.properties?

Publicado el 19/09/2018 a las 17:16
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

-D es para propiedades del sistema en Gradle. Pruebe con -P lugar ( https://docs.gradle.org/current/userguide/build_environment.html#sec:project_properties )

Respondida el 20/09/2018 a las 09:51
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more