Domanda

Qualcuno può indicarmi un buon tutorial per creare & amp; stai usando un repository locale con Ivy? (Per favore, non indicarmi i documenti Ivy, i tutorial sono piuttosto confusi)

Devo creare un repository locale per includere i file .jar che non sono necessariamente disponibili attraverso i repository di maven pubblici.

È stato utile?

Soluzione

La creazione di un repository di edera locale è semplice, ma non è necessario. Ecco un esempio di pubblicazione di alcuni file di testo usando ivy come programma autonomo.

Ho 3 file che voglio pubblicare:

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

Il file ivy src / ivy.xml indica in dettaglio il nome del modulo e un elenco degli artefatti pubblicati. (Indice di rilascio)

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

Avrai anche bisogno di un file di impostazioni edera per dire a edera dove si trova il repository

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

Infine esegui ivy per pubblicare la versione 1.0 rilasciata:

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

Nota il modello di pubblicazione. Indica a edera dove si trovano i file da pubblicare.

Aggiunto: pubblicazione da 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>

Altri suggerimenti

non so se stai usando SVN, in questo caso questo può aiutare:

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

Quello che potresti voler fare è creare un repository di Mven privato, sul tuo computer locale o nella tua intranet. Quindi distribuire queste risorse non pubbliche in quel repository utilizzando Maven. Ivy si integra con i repository di Maven, così sarai in grado di estrarre queste risorse durante il tempo di compilazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top