2015-10-30 13 views
5

Senza Gradle War Plugin, bootRepackage task dipende dal task jar ma con Gradle War Plugin, dipende dall'attività war.Come fare bootRepackage dipende da jar non war quando si usa Gradle War Plugin

Come posso modificarlo in base all'attività jar anche se sto utilizzando il plug-in Gradle War?

UPDATE:

sto usando war compito di creare un file di guerra inclusi i documenti per essere distribuito su un server di documentazione e voglio usare bootRepackage d file jar per fornire un servizio. L'attività war dipende dall'attività asciidoctor che dipende dall'attività test (sto utilizzando Spring REST Docs.) Ma non voglio eseguire l'attività asciidoctor o l'attività test quando si utilizza l'attività bootRepackage.

ho risolto il mio problema con la seguente configurazione:

ext { 
    mainClassName = 'com.izeye.throwaway.Application' 
} 

task myBootRepackage(type: BootRepackage, dependsOn: jar) { 
} 

ma non sono sicuro che questa è una buona pratica.

Si tratta di un progetto di esempio che ha la configurazione di cui sopra:

https://github.com/izeye/spring-boot-throwaway-branches/tree/war

+0

Non sono sicuro, cosa vuoi ottenere con questo, ma potresti cercare di creare qualche attività personalizzata di tipo Jar (o potrebbe essere solo passare 'jar') e configurare il plugin come' bootRepackage { withJarTask = customJarTask } a causa di questo riferimento http://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html#build-tool-plugins -gradle-repackage-configuration – Stanislav

+0

@Stanislav Grazie per il commento. Ho aggiornato la mia domanda. –

risposta

5

Avresti dovuto essere in grado di fare questo:

bootRepackage { 
    withJarTask jar 
} 

Anche se questo fa sì che correttamente vaso del task jar essere riconfezionato , non rimuove la dipendenza dal task di guerra. Questo è un altro sintomo di this Spring Boot issue.

Fino a quando questo problema non è stato risolto, l'approccio che è stato intrapreso, dichiarando la propria attività BootRepackage e configurando manualmente le attività da cui dipende, è l'opzione migliore.