Convierta ivy.xml en pom.xml

Tengo un ivy.xml – https://gist.github.com/1898060 También tengo el archivo jar relacionado con este ivy.xml. Lo que necesito es un mecanismo para importar este proyecto a mi repository maven y usarlo en mi proyecto maven. ASÍ QUE, básicamente, si puedo convertir ivy.xml a pom.xml, es posible que pueda hacer que funcione. ¿Hay algún mecanismo por el cual pueda lograr esto? Estoy buscando algo así como un plugin maven para llevar a cabo esta tarea. Sé que hay formas de editar el ivy.xml y el build.xml para lograr esto, pero no quiero hacerlo, ya que el proyecto está en un repository privado.

Lo que realmente necesita hacer es publicar los archivos jar creados por el proyecto ANT en su repository Maven.

ant -Dproject.version=0.9.0-local-20120211095554 clean publish 

Sé que no quieres cambiar la comstackción de ANT, pero crear un objective adicional de “publicación” integrará correctamente tus proyectos ANT y Maven.

Los dos artefactos de jar, publicados por su comstackción ANT modificada, se pueden consumir normalmente de la siguiente manera:

  com.opengamma og-analytics 0.9.0-local-20120211095554   com.opengamma og-analytics 0.9.0-local-20120211095554 sources  

Modificaciones a tu construcción de ANT

ivy.xml

Los principales cambios son a su sección de publicaciones:

                    

Notas:

  • El proyecto ANT ahora publicará 3 archivos, jar, sources jar y el Maven POM
  • En Maven los jar de origen tienen un atributo de “clasificador” que está configurado en “fonts” (no fuente). Para facilitar esto, estamos agregando un atributo extra de hiedra .
  • No se necesita información de versión y estado en el encabezado de la etiqueta de información . Esto será agregado por el paso de publicación.

build.xml

           

Notas:

  • La tarea de entrega es opcional, pero se recomienda en caso de que su archivo ivy contenga revisiones dinámicas, como “latest.release” o “latest.integration”.
  • La tarea de makepoms tiene un poderoso soporte para configuraciones de conversión de hiedra en los scopes de Maven. No se aplica en su caso, pero es un incentivo para aprender más sobre la hiedra 🙂
  • La tarea de publicación utiliza un patrón específico para buscar los archivos especificados en la sección de publicaciones de ivy.

ivysettings.xml

Aquí es donde configura la ubicación de los repositorys y las credenciales que utilizará el objective de publicación de comstackción.

         

Notas:

  • Las descargas de Ivy usan el resolver predeterminado configurado nexus-central .
  • La tarea de publicar ivied empuja al repository de Nexus llamado nexus-deploy
  • El reino de la seguridad en este ejemplo coincide con Nexus Maven. Sería diferente para otros gerentes de repo.

Apache Ant sí mismo proporciona una tarea para hacer esto – makepom . ¡Siempre ayuda a consultar la documentación!

    Intereting Posts