2011-12-12 8 views
7

Non capisco perché sia ​​presente l'attività 'buildNeeded' fornita dal plugin java. Il task non 'build' risolve il problema? La documentazione Gradle dice:Caso di utilizzo per l'attività buildNeeded?

buildNeeded: Esegue una generazione completa del progetto e tutti i progetti da cui dipende.

e

costruzione: Esegue una generazione completa del progetto.

Il task "build" non dovrebbe/non deve essere compilato e costruito tutte le cose necessarie? Perché distinguere tra "build" e "buildNeeded"?

+0

: D http://gradle.org/docs/current/userguide/multi_project_builds.html – Dori

risposta

7

buildNeeded esegue uno build completo per tutti i progetti da cui dipende un progetto. In particolare, viene eseguito test per i progetti dipendenti, che può avere senso se si vuole giocare sul sicuro. Per confronto, build esegue solo una serie minima di attività per i progetti dipendenti (ad esempio jar), quanto basta per soddisfare la dipendenza. build viene utilizzato più spesso di buildNeeded.

1

build non chiama una compilazione completa su tutti i progetti figlio.

Se il progetto non ha progetti dipendenti, non fa alcuna differenza.

L'idea è che se si modifica l'API in un progetto padre si desidera ricompilare tutti i progetti figlio con quello nuovo.

+0

Ok, penso di aver perso qualcosa. C'è una differenza tra sottoprogetto e progetto figlio? Che ne dici di "gradle clean build"? Questo fa la compilazione completa sui progetti figlio/sottoprogetto? – Cengiz

+1

@Cengiz: gradle clean build eseguirà prima un clean (ovvero eliminerà la cartella/build) e quindi eseguirà una build solo per il progetto. Ha lo stesso effetto di 'gradle clean' seguito da 'gradle build'. –

Problemi correlati