Question

Quelqu'un peut-il m'indiquer un bon tutoriel pour la création & amp; en utilisant un référentiel local avec Ivy? (S'il vous plaît, ne m'indiquez pas les documents Ivy, les tutoriels sont plutôt déroutants)

Je dois créer un référentiel local pour inclure les fichiers .jar qui ne sont pas nécessairement disponibles via les référentiels maven publics.

Était-ce utile?

La solution

La création d’un référentiel ivy local est simple, maven n’est pas requis. Voici un exemple de publication de fichiers texte utilisant ivy en tant que programme autonome.

J'ai 3 fichiers à publier:

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

Le fichier ivy src / ivy.xml détaille le nom du module et une liste des artefacts en cours de publication. (Index de sortie)

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

Vous aurez également besoin d'un fichier de paramètres Ivy pour indiquer à Ivy l'emplacement du référentiel

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

Enfin, exécutez ivy pour publier la version 1.0 publiée:

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

Notez le modèle de publication. Il indique à Ivy où se trouvent les fichiers à publier.

Ajouté: Publication depuis 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>

Autres conseils

Je ne sais pas si vous utilisez SVN. Si tel est le cas, cela peut aider:

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

Ce que vous voudrez peut-être, c'est créer un référentiel Maven privé, soit sur votre ordinateur local, soit sur votre intranet. Déployez ensuite ces ressources non publiques sur ce référentiel à l'aide de maven. Ivy s’intègre aux référentiels maven, vous pourrez ainsi extraire ces ressources pendant la compilation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top