2010-09-15 11 views
7

Gibt es ein Maven-Plugin, mit dem ich die Abhängigkeiten von maven pom einschließlich transitiver Abhängigkeiten in eine Datei ivy.xml konvertieren kann?Maven POM-Abhängigkeiten zu der Datei ivy.xml

+0

Ja ich bin mir der ant.jayasoft.ivy.ant Ant-Aufgabe bewusst, jedoch suche ich nach einem Maven-Plugin! – JavaRocky

+0

Was ist der Anwendungsfall? Ich bin ein großer Fan von Efeu, verbringe aber die meiste Zeit damit, es mit Maven-Technologien zu integrieren, nicht umgekehrt :-) –

Antwort

5

Hier ist ein Ant-Skript

<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> 

Von here oder here (& wahrscheinlich anderswo)

1

Nach Ivy 1.3-RC1 Changelog

NEU: maven2 pom Kompatibilität: Die meisten Resolvern sind nun in der Lage m2 pom als Projektmetadaten und es gibt eine neue convertpom Aufgabe der Lage zu konvertieren eine pom-Datei zu handhaben eine Efeudatei (IVY-140)

Diese Umwandlung wird mit Moire-Details in this blog post erklärt.

Ich weiß, es ist nicht der Maven, aber die Ivy Seite, aber irgendwie scheint es etwas zu existieren, nicht? Es sollte "möglich" sein, den Code (available on the web) in ein Maven-Plugin umzuwandeln, damit diese Umwandlung von maven gesteuert wird, wenn Sie dies wünschen.

4

ich glaube, es ist besser, allein auf Apache angewiesen, so viel wie möglich. Also hier ist die Ameisen-Build-Datei, die ich erfolgreich ausgeführt habe.

Nur eine Zeile ist erforderlich wie in http://ant.apache.org/ivy/history/trunk/use/convertpom.html angegeben.

<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

Vielleicht möchtest du erzählen, wie du das machen würdest. Viele Leute haben von Ameisen gehört, aber viele von uns haben sehr viel versucht, um zu vermeiden, dass sie es lernen oder benutzen müssen. (Ich habe gerade "BUILD FAILED /Users/james/workspace/JavaSignatureParser/foo.xml:7: Problem: Fehler beim Erstellen der Aufgabe oder geben Sie antlib: org.apache.ivy.ant: convertpom Ursache: Der Name ist nicht definiert. "Als ich das offensichtliche" ant-f foo.xml convert "ausprobiert habe - aber ich weiß nicht oder sehr viel über Ameisen ...) –

+0

Wenn Sie Ivy verwenden müssen, müssen Sie Ant verwenden. Die Verwendung von Ant zu lehren, ist hier nicht möglich. AFA jeder, der Ant benutzt hat, würde einfach die Ameisen-Datei von Eclipse laufen lassen. –

+0

Folgen Sie dem Link, den ich für org.apache.ivy.ant angegeben habe. –

Verwandte Themen