Domanda

Mi piacerebbe definire una nuova attività chiamata dbStatus che chiama (o si estende?) run e sovrascrive la proprietà args.

apply plugin: 'application'

run {
    args "server", "service.yml"
}


task(dbStatus, type: run) {
    args "db", "status", "service.yml
}
.

Questo non funziona perché "run" non è una classe di attività valida.C'è un modo rapido per estendere un compito e sovrascrivere una proprietà?

Aggiornamento: risoluzione

Purtroppo dovevo semplicemente definire un compito JavaExec di zecca e ricreare la logica che run è configurato da fare.Ecco cosa ho trovato:

task(dbStatus, type: JavaExec) {
    main mainClassName
    classpath sourceSets.main.runtimeClasspath
    args "db", "status", "service.yml"
}
.

Non penso che questo sia esattamente lo stesso di run, poiché non è in esecuzione contro la costruzione jar che non credo, ma funziona per i miei scopi.

È stato utile?

Soluzione

Le attività non possono essere "estese" in questo modo.Invece, dichiara un'altra attività e configurarlo come appropriato.(È comune configurare più attività contemporaneamente per evitare la duplicazione del codice.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top