web-dev-qa-db-fra.com

bon tutoriel de lierre pour le référentiel local?

Quelqu'un peut-il m'indiquer un bon tutoriel pour créer et utiliser un référentiel local avec Ivy? (S'il vous plaît, ne me dirigez pas vers 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.

46
Jason S

Créer un référentiel local de lierre 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 que je veux publier:

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

Le fichier ivy src/ivy.xml donne 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 où se trouve le 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, lancez ivy pour publier la version 1.0:

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>
44
Mark O'Connor

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

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

2
Marc

Vous voudrez peut-être 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.

0
codethulhu