2015-02-24 12 views
7

precedenza ho usato Maven e l'esperto-fascio-plugin per archiviare il seguente:Gradle, OSGi e OBR (o altri repository?)

  • Nel fare mvn install, locale repo Maven contiene il mio fagotto + automaticamente tutti i deps del mio pacchetto
  • Il repository locale diventa repository OBR entro il mvn bundle:index, anche repository.xml viene aggiornato automaticamente con ogni mvn install.
  • repo locale può ora essere utilizzato per la distribuzione Karaf fascio

Ora, sto cercando di migrare alcuni progetti a Gradle, che è molto bello in molti modi. Sto creando pacchetti con successo usando il plugin 'org.dm.bundle' (il plugin 'osgi' di base non mi permetteva di creare automaticamente componenti di servizio).

Utilizzando il plug-in Maven di Gradle, posso eseguire gradle install per installare il mio bundle nel repository Maven locale. Potrei quindi usare bindex manualmente (o attraverso alcuni gradle hacking) indicizzare il repository. Tuttavia, le mie dipendenze non sono inserite nel repository Maven, sono solo memorizzate nella directory gradle cache. Quindi, non posso ancora usare il repository OBR per distribuirlo in Karaf.

Mi sono guardato molto cercando di trovare qualche buona soluzione a questo, ma non ho trovato nulla.

Ho esaminato i file di funzionalità di Karaf, che mi consentirebbero di specificare direttamente gli URL di mvn invece di fare affidamento su OBR, ma vorrei evitare di fare scherzi con i file di funzione manualmente.

Ci sono riferimenti all'utilizzo di Nexus, ma solo Nexus Pro supporta OBR da quello che posso vedere?

Sono pronto per suggerimenti anche su soluzioni alternative; l'obiettivo principale è che potrò distribuire i miei pacchetti + deps in Karaf. Maven non deve essere usato affatto, anche se ho bisogno in qualche modo di diversi progetti di Gradle per trovare dipendenze da altri progetti (che non fanno parte dello stesso multiprogetto).

Qualsiasi idea o discussione per mettermi sulla giusta strada è apprezzata!

+0

Quando si esegue "gradle install" sono i poms generati come previsto e i vasi vengono copiati correttamente in ~ ~/.m2'? – JBirdVegas

+0

Non ricordo affatto. Non usando più questo, quindi non lo perseguirò ulteriormente. –

+0

Stai cercando un modo per mettere tutte le tue dipendenze in una cartella specifica? – Ethan

risposta

2

questo può essere un po 'in ritardo, ma ho solo inciampato sopra la vostra domanda durante la ricerca di un modo per andare a prendere con Gradle da un repository OBR.

Per quanto ho capito, si vuole spingere (gradle deploy) in qualche repository Maven e usarlo come repository OBR. Questo è possibile con Eclipse Package Drone, eclipse/packagedrone. È possibile eseguire l'implementazione utilizzando la distribuzione Maven/Gradle e lasciare che generi un repository di indice P2, OBR e OSGi R5.

+0

L'hai usato? La versione 0.12 non è incoraggiante. –

+0

E perché non è incoraggiante? – ctron

+0

perché 0.x <1.0 ;-) –