Pregunta

¿Alguien puede indicarme un buen tutorial para crear & amp; ¿Usando un repositorio local con Ivy? (Por favor, no me apuntes a los documentos de Ivy, los tutoriales son bastante confusos)

Necesito hacer un repositorio local para incluir archivos .jar que no estén necesariamente disponibles a través de los repositorios públicos de maven.

¿Fue útil?

Solución

Crear un repositorio local de hiedra es sencillo, no es necesario un experto. Aquí hay un ejemplo de la publicación de algunos archivos de texto usando ivy como un programa independiente.

Tengo 3 archivos que quiero publicar:

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

El archivo de hiedra src / ivy.xml detalla el nombre del módulo y una lista de los artefactos que se están publicando. (Índice de publicación)

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

También necesitará un archivo de configuración de hiedra para decirle a ivy dónde se encuentra el repositorio

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

Finalmente ejecute hiedra para publicar la versión 1.0 publicada:

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

Note el patrón de publicación. Le dice a ivy dónde se encuentran los archivos que se publicarán.

Añadido: Publicación desde 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>

Otros consejos

no sé si está usando SVN, si este es el caso, esto puede ayudar:

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

Lo que quizás desee ver es crear un repositorio privado de Maven, ya sea en su máquina local o en su intranet. Luego, implemente estos recursos no públicos en ese repositorio utilizando maven. Ivy se integra con los repositorios de Maven, por lo que podrá extraer estos recursos durante el tiempo de compilación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top