Estoy pensando en cambiar un proyecto Maven que me las arreglo para Apache Ant/Ivy. Necesito más control sobre el proceso de construcción y estoy muy frustrado con Maven. Por favor, no hay comentarios sobre lo genial que es Maven. Mi pregunta es sobre Ivy.Ant/Ivy para la construcción del proyecto
me gustaría configurar una plantilla "estándar" de generación Ant que luego puede usarse para otros proyectos con cambios mínimos.
Voy a configurar un repositorio "empresarial" central donde podemos ubicar bibliotecas de terceros que no están disponibles en los repositorios públicos de Maven (por ejemplo, bibliotecas comerciales, bibliotecas Sun, bibliotecas propietarias, etc.). Este repositorio empresarial estará disponible en nuestra LAN local, pero puede no estar disponible desde fuera de la oficina.
Cada desarrollador tendrá un depósito privado en ~/.ivy/repository
. Me gustaría que Ant build actualice automáticamente este repositorio privado con las versiones modificadas de las bibliotecas del repositorio de la empresa.
En ~/.ivy/ant
, planeo colocar módulos "estándar" para incluir en los proyectos individuales build.xml
archivos, usando la tarea include
en Ant 1.8. Estos módulos proporcionarán objetivos de compilación como Scala
y Clojure
con diferentes versiones para diferentes versiones de Scala y Clojure (p. Ej .: scala-compile-2.9.1.xml
, clojure-compile-1.3.xml
, etc.). Los módulos de compilación estarán disponibles en el repositorio empresarial y se actualizarán automáticamente en los repositorios privados. Ellos cambian.
Cada proyecto seguirá una estructura estándar Maven directorio: ${project}/src/main/java
, ${project}/target/classes
, etc.
En el pasado, he intentado usar la hiedra, pero la hormiga construir archivos tiene que ser muy grande (> 500 líneas para la construcción de plantilla archivo) y difícil de administrar/editar. Espero que al poner objetivos estándar en sus propios módulos de compilación en el directorio ~/.ivy/ant
, puedo evitar ese engorro del código.
se puede hacer esto? ¿Estoy fuera de la base? La única documentación que puedo encontrar en Ivy es en el sitio web de Apache (http://ant.apache.org/ivy). ¿Hay alguna otra documentación disponible, incluidos los libros?
No creo que necesite repositorios privados para las bibliotecas. Ivy administra su propio [caché] (https://ant.apache.org/ivy/history/latest-milestone/concept.html#cache) en ~/.ivy2, que se mantendrá actualizado al resolver las dependencias. – oers