Frage

Kann mich jemand zu einem guten Tutorial Punkt für die Herstellung und ein lokales Repository mit Ivy verwenden? (Bitte zeigen Sie mir nicht an den Ivy docs, die Tutorials sind eher verwirrend)

Ich brauche ein lokales Repository machen .jar-Dateien enthalten, die durch die öffentlichen Maven-Repositories nicht unbedingt zur Verfügung steht.

War es hilfreich?

Lösung

eine lokale Efeu-Repository zu schaffen, ist gerade nach vorne, wird Maven nicht erforderlich. Hier ist ein Beispiel für die Veröffentlichung einiger Textdateien Efeu als eigenständiges Programm.

Ich habe 3 Dateien Ich möchte veröffentlichen:

src/English.txt
src/Spanish.txt
src/Irish.txt

Die Efeu-Datei src / ivy.xml Details die Namen des Moduls und eine Liste des Artefakte veröffentlicht. (Release-Index)

<ivy-module version="2.0">
  <info organisation="myorg" module="hello"/>
  <publications>
    <artifact name="English" ext="txt" type="doc"/>
    <artifact name="Irish" ext="txt" type="doc"/>
    <artifact name="Spanish" ext="txt" type="doc"/>
  </publications>
</ivy-module>

Sie müssen auch eine Efeu-Einstellungsdatei Efeu zu sagen, wo das Repository befindet

<ivysettings>
    <property name="repo.dir" value=".../repo"/>
    <settings defaultResolver="internal"/>
    <resolvers>
        <filesystem name="internal">
            <ivy pattern="${repo.dir}/[module]/ivy-[revision].xml" />
            <artifact pattern="${repo.dir}/[module]/[artifact]-[revision].[ext]" />
        </filesystem>
    </resolvers>
</ivysettings>

Schließlich Efeu laufen die freigegebene Version 1.0 zu veröffentlichen:

java -jar $IVY -settings config/ivysettings.xml \
        -ivy src/ivy.xml \
        -publish internal \
        -publishpattern "src/[artifact].[ext]" \
        -revision 1.0 \
        -status release \
        -overwrite 

Beachten Sie das Muster veröffentlichen. Es erzählt Efeu, wo sich die Dateien befinden veröffentlicht werden.

Hinzugefügt: Publishing von innen ANT

<target name="publish" depends="clean,package" description="Publish this build into repository">
    <ivy:publish pubrevision="${pub.version}" status="${pub.status}" resolver="${pub.resolver}" >
        <artifacts pattern="${build.dir}/dist/[artifact].[ext]"/>
    </ivy:publish>
</target>

Andere Tipps

weiß nicht, ob Sie SVN verwenden, wenn dies der Fall ist dies helfen kann:

http://code.google.com/p/ivysvn/

Was Sie tun aussehen können wollen, ist eine eigene Maven-Repository erstellen, entweder auf dem lokalen Rechner oder in Ihrem Intranet. Dann implementieren diese nicht-öffentliche Mittel zu diesem Repository Maven verwenden. Ivy integriert mit Maven-Repositories, so Sie in der Lage sein werden, dann in diesen Ressourcen zu ziehen während der Kompilierung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top