Eventuali migliori pratiche o strumenti per i repository Ivy?
Domanda
utilizziamo Gradle per creare progetti Java e al momento disponiamo di repository Ivy per archiviare artefatti di terze parti e anche per pubblicare i nostri artefatti (il repository è creato utilizzando gli script Gant e le attività Ivy ANT).ma la gestione dei pronti contro termine è basilare.
Gradle è in grado di funzionare anche con un repository Maven, quindi passare a un gestore di artefatti Maven come Archiva o Nexus è un'opzione, ma forse non necessaria.conosci qualche strumento o best practice che possa aiutarci nella creazione e nella manutenzione dei repository Ivy?
giusto per essere chiari:abbiamo già letto i tutorial e altro e abbiamo capito come farlo, ma è ancora basilare da mantenere.
Soluzione
In passato, ho utilizzato solo un repository ivy per piccoli repository privati che pubblicavano artefatti utilizzando semplici protocolli di basso livello come un sito FTP.(Tutto ciò di cui il sito ha bisogno è un layout di directory con versione e un file edera.xml file che descrive gli artefatti)
L'infrastruttura di repository basata su Maven è ora così pervasiva, con molti progetti che la utilizzano, che è quasi inutile promuovere uno standard alternativo di gestione dei repository.
Sonatype (la società dietro Maven) rende il suo prodotto repository, Nexus, disponibile a tutti, perché è nell'interesse di tutti mantenere sotto controllo i requisiti di larghezza di banda per Maven Central.
Per fortuna, Ivy si comporta bene con Maven, il che significa che puoi sfruttare il meglio di entrambi i mondi.
Altri suggerimenti
Ho creato un blog su il mio layout repository Ivy e le scelte . Si potrebbe avere esigenze diverse, ma penso che è sempre bene controllare di altre soluzioni per avere alcune idee ...
C'è un progetto comunitario denominato Ivy Roundup che mira a costruire una coerente, up-to -data edera repo di librerie di terze parti comuni. Può essere una buona idea per abbinare le convenzioni di denominazione non utilizzati, o, meglio ancora, basta avere i moduli da lì utilizzare il <ivy:install>
compito .
A mio parere non c'è molto nel repository di Ivy da lavorare perché funziona solo . Quello che non si può fare con i compiti Ant di Ivy si può fare direttamente dal file system, semplice.
Certo qualcosa come cambiare il nome manufatto può essere difficile, ma poi di nuovo questo è qualcosa che non si dovrebbe fare in ogni caso.
Quello che sto facendo in genere, in pratica, quando ho bisogno di una libreria di terze parti è quello di cercare nella repository MVN e quindi fare clic sulla scheda "Ivy" per ottenere la dipendenza Ivy per il mio ivy.xml.