2015-07-15 23 views
7

Sto provando a scrivere un'attività gradle per la mia applicazione Android che avvia il server di sviluppo di google appengine, esegue un test e quindi chiude il server.Attività gradle Android Google Appengine

Quello che ho provato finora assomiglia a questo:

task runAppEngine (dependsOn: ":backend:appengineRun") <<{ 
    //run test 
    //stop development server 
    } 

Il compito appengineRun corre, ma qualunque cosa ho messo nella sezione doLast del compito Gradle non sembra avere eseguito. Ad esempio, se inserisco una dichiarazione println, non viene mai stampata sulla console.

Non sono nemmeno sicuro di come chiamare appengineStop dall'attività per arrestare anche il server di sviluppo.

Grazie per l'aiuto che chiunque può offrire!

risposta

10

Probabilmente è necessario eseguire l'attività backend:appengineRun nella modalità daemon in modo che consenta il proseguimento del processo gradle. Vedere: https://github.com/GoogleCloudPlatform/gradle-appengine-plugin#convention-properties

Questo mod sembra funzionare nel mio test

task runAppEngine (dependsOn: ":backend:appengineRun") { 
    project(":backend").afterEvaluate { backend -> 
    backend.extensions.appengine.daemon = true 
    }    
    doLast { 
    println "started the server!" 
    } 
} 

runAppEngine.finalizedBy ":backend:appengineStop" 
// or whatever task you want it to stop after 
+0

Grazie che hanno funzionato brillantemente! –

Problemi correlati