2010-09-15 7 views
7

¿Existe un complemento maven que pueda usar para convertir las dependencias maven pom, incluidas las dependencias transitivas, en un archivo ivy.xml?Dependencias Macul POM al archivo ivy.xml

+0

Sí, soy consciente de la tarea fr.jayasoft.ivy.ant Ant, pero estoy buscando un plugin maven! – JavaRocky

+0

¿Cuál es el uso? Soy un gran fanático de la hiedra, pero paso la mayor parte de mi tiempo integrándolo con las tecnologías de Maven, y no al revés :-) –

Respuesta

5

Aquí es un 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> 

De here o here (& probablemente en otros lugares)

1

De acuerdo con la hiedra 1.3-RC1 Changelog

NUEVO: Compatibilidad pom maven2: la mayoría de resolutores ahora son capaces de manejar m2 pom como metadatos del proyecto y no es una tarea nueva convertpom capaz de convertir un archivo pom a un archivo ivy (IVY-140)

Esta transformación se explica con detalles de moire in this blog post.

Sabía que no es el maven, pero el lado de Ivy, pero de todos modos parece existir algo, ¿no? "debería" ser posible convertir el código (available on the web) a un plugin maven para que esta transformación sea dirigida por maven, si así lo desea.

4

siento que es mejor que depender únicamente de Apache tanto como sea posible. Así que aquí está el archivo de compilación de hormigas que ejecuté con éxito.

Solo se requiere una línea como se especifica en 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

Es posible que desee contar cómo lo haría. Mucha gente ha oído hablar de las hormigas, pero muchos de nosotros hemos intentado con todas mis fuerzas evitar aprender o usarlas. (Acabo de obtener "BUILD FAILED /Users/james/workspace/JavaSignatureParser/foo.xml:7: Problema: no se pudo crear la tarea o escriba antlib: org.apache.ivy.ant: convertpom Causa: el nombre no está definido. "cuando probé el obvio" ant -f foo.xml convert "- pero no sé o no me importa mucho la hormiga ...) –

+0

Si tiene que usar Ivy, debe usar Ant. La enseñanza de cómo usar Ant está más allá del alcance aquí. AFA cualquiera que haya usado Ant, simplemente ejecutará el archivo ant de eclipse. –

+0

Siga el enlace que proporcioné para org.apache.ivy.ant. –

Cuestiones relacionadas