Sto cercando di eseguire il porting di una build di maven per gradle. Una delle funzionalità di Maven è pom inheritance, in cui posso dichiarare una varietà di comportamento comune in un pom, pubblicarlo in un repository e utilizzarlo tramite l'elemento <parent>
in un progetto concreto.Come condividere un build.gradle comune tramite un repository?
La mia Q è semplicemente se esiste un comportamento equivalente in gradle?
Ho già fatto questo in ant + ivy importando un file build.xml comune che si è basato su aver già verificato il percorso del comune build.xml dal controllo del codice sorgente o usando qualcosa come svn: externals. Posso ripetere questo approccio senza alcuna difficoltà, ma questa sembra essere una cosa che fa abbastanza bene quindi sarebbe bello vedere qualcosa di simile in gradle.
È piuttosto un trucco. Cosa speri di ottenere da ciò? –
Non sono abbastanza sicuro se dovrei essere orgoglioso della mia creatività o disonorato dal mio trucco. Il guadagno è un modo ovvio (per me) di condividere una versione specifica di una build comune che definisce un modo standard per un set di progetti strettamente correlati (ma non parte dello stesso progetto multiprogetto) da costruire. Ho ridotto una precedente versione basata su convenzioni ant + ivy basata sulla convenzione (che arriva a poche migliaia di righe di xml + tutte le specifiche del modulo ivy.xml) fino a poche centinaia di righe di uno script di compilazione comune (che si occupa principalmente di parte specifica di quella build e ha i deps standard) quindi sono abbastanza felice. – Matt
considerando che l'approccio di cui sopra era buono per la prototipazione ma alla fine si è stabilizzato su alcuni plugin. – Matt