2011-08-10 13 views
17

Operando sullo gradle dependency docs, abbiamo un build.gradle con frammenti come questo.Come configurare gradle per utilizzare un repository locale solo per determinati gruppi di dipendenza?

repositories { 
    mavenCentral() 
    ivy { 
     name = 'localRepo' 
     artifactPattern "http://localRepo.com/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" 
    } 
} 

dependencies { 
    compile group: 'localRepo', name: 'my-private-library', version: '2.5' 
} 

Questa installazione non scarica tutto correttamente, ma vorrei modificarlo in modo che le cose in gruppo localRepo sono tentato solo per essere tirato dal repository edera e localRepo è utilizzato solo per gruppo localRepo. localRepo contiene solo jar privati, quindi non vogliamo che sia usato come primo repository e non vogliamo passare molto tempo a interrogare mavenCentral per i jar che non esisteranno.

Fondamentalmente vorrei dire nella dipendenza di utilizzare un repository specifico o che il repository dell'edera locale deve essere utilizzato solo per gruppi specifici. C'è un modo semplice per farlo?

+0

Si potrebbe ottenere un/una risposta più rapida meglio chiedere questo su Nabble Gradle: http://gradle.1045684.n5.nabble.com/ –

+0

Grazie per entrambi delle tue risposte, l'artefice ha funzionato per me, non ho avuto il tempo di testarlo prima della fine della ricompensa. Ho dato a sbridges la risposta da quando è entrato per primo. Ho anche riaperto la taglia in modo da poter ottenere crediti di taglia. Mi spiace di non averlo capito in tempo. –

risposta

5

Non proprio quello che vuoi, ma impostiamo i nostri repository in modo che gli sviluppatori ottengano tutte le dipendenze dal repository privato locale e che il repository privato locale memorizzi nella cache il repository centrale. Questo è più veloce, poiché le dipendenze vengono estratte una sola volta da Maven Central dal primo sviluppatore per accedervi, e anche per vedere quali elementi vengono utilizzati nella tua azienda. Nexus e artifactory e sono sicuro che anche tutti gli altri repository fanno altrettanto.

1

Sembra che sia stato chiesto qualcosa di simile sullo gradle mailing list e che l'opzione migliore attualmente disponibile sia quella di passare a artifcatory e gestire il proprio repository condiviso.