2010-09-15 7 views
7

Esiste un plug-in maven che è possibile utilizzare per convertire le dipendenze Maven Pom comprese le dipendenze transitive in un file ivy.xml?Dipendenze Maven POM nel file ivy.xml

+0

Sì, sono a conoscenza dell'attività fr.jayasoft.ivy.ant Ant, tuttavia sto cercando un plug-in Maven! – JavaRocky

+0

Qual è l'usecase? Sono un grande fan dell'edera ma spendo la maggior parte del mio tempo ad integrarlo con le tecnologie Maven, non il contrario :-) –

risposta

5

Ecco uno script Ant

<project name="convertPomToIvy" basedir="." default="all" 
    xmlns:ivy="antlib:fr.jayasoft.ivy.ant" 
    xmlns:ac="antlib:net.sf.antcontrib"> 

    <path id="antlib.classpath"> 
     <fileset dir="/path/to/ivy/libs" includes="*.jar"/> 
    </path> 

    <taskdef uri="antlib:fr.jayasoft.ivy.ant" 
     resource="fr/jayasoft/ivy/ant/antlib.xml" 
     classpathref="antlib.classpath" 
     loaderref="antlib.classpath.loader"/> 

    <target name="convert"> 
     <ivy:convertpom pomFile="pom.xml" ivyFile="ivy.xml" /> 
    </target> 

</project> 

Da here o here (& probabilmente altrove)

1

Secondo Ivy 1.3-RC1 Changelog

NUOVO: compatibilità pom maven2: la maggior parte delle resolver sono ora in grado di gestire m2 pom come metadati del progetto e non v'è un compito nuova convertpom in grado di convertire un file pom a un file di edera (IVY-140)

Questa trasformazione è spiegata con dettagli moiré in this blog post.

Ho saputo che non è il maven, ma il lato Ivy, ma comunque sembra esistere qualcosa, no? "Dovrebbe" essere possibile convertire il codice (available on the web) in un plug-in maven per fare in modo che questa trasformazione sia diretta da Maven, se lo si desidera.

4

ritengo sia meglio dipendere unicamente su Apache, per quanto possibile. Quindi ecco il file di build ant che ho eseguito con successo.

È richiesta una sola riga come specificato in http://ant.apache.org/ivy/history/trunk/use/convertpom.html.

<project 
    name="convertPomToIvy" 
    basedir="." default="all" 
    xmlns:ivy="antlib:org.apache.ivy.ant"> 

    <target name="convert"> 
     <ivy:convertpom pomFile="pom.xml" ivyFile="ivy.xml" /> 
    </target> 
</project> 
+1

Potresti dire come gestiresti questo. Molte persone hanno sentito parlare di formica, ma molti di noi hanno cercato molto duramente di evitare di doverli imparare o usare. (Ho appena ricevuto "BUILD FAILED /Users/james/workspace/JavaSignatureParser/foo.xml:7: Problema: impossibile creare un'attività o digitare antlib: org.apache.ivy.ant: convertpom Causa: il nome non è definito. "quando ho provato l'ovvio" ant -f foo.xml convert "- ma non so o mi importa molto di ant ...) –

+0

Se devi usare Ivy, devi usare Ant. Insegnare come usare Ant va oltre lo scopo qui. AFA chiunque abbia utilizzato Ant, eseguirà semplicemente il file ant da eclipse. –

+0

Seguire il collegamento fornito per org.apache.ivy.ant. –