2009-06-05 25 views
9

He leído muchos artículos sobre Ant que explican todo tipo de opciones, y he leído gran parte de la documentación para Ant, pero realmente no conozco la forma "correcta" de hacer muchas cosas. ¿Alguien puede recomendar un buen ejemplo que ilustre cómo usar Ant? Algo que no es demasiado complicado, pero tampoco demasiado simple.un buen ejemplo de las mejores prácticas

Encontré this one por Doug Sparling (específicamente relacionado con Hibernate) y se ve bastante bien, pero me preguntaba si podrían comentarlo, porque no quiero adoptar el estilo de alguien que tiene hábitos cuestionables, pero me parece bien

Respuesta

9

Es posible que desee mirar también a la Ant Usage Guides del Ant Wiki.

+0

ooh, tiene una "elementos de estilo "- gracias! –

3

Sugiero que mire los scripts ant de las implementaciones de código abierto que usan ant para su script de compilación. Normalmente, las secuencias de comandos ant no reciben un gran amor, pero son más sólidas que un trabajo interno típico porque se distribuyen a tantos desarrolladores que se espera que solo los ejecuten en una variedad de entornos.

Yo diría que es una buena práctica no preocuparse por su script de construcción más allá del punto donde hace el trabajo y es razonablemente fácil de mantener. Después de todo, no es el objetivo de la mayoría de los proyectos producir un buen script de compilación. Por supuesto, como con cualquier práctica recomendada, hay excepciones.

De la mano, la que miré para JSR-310 era decente.

1

Siempre tiendo a dividir mis objetivos en 2 tipos:

1) objetivos que hacen cosas: compilar, jar, etc. No tienen dependencias y cada uno hace una y solo una cosa.

2) objetivos que puede querer ejecutar: compilar, implementar, etc. Aquí es donde se especifican las dependencias.

La razón por la que hago esto es que le permite tener objetivos ejecutables que usan un conjunto arbitrario de los objetivos de material en proceso. Por ejemplo, en una aplicación web, es útil poder implementar sin compilar, ejecutar pruebas, etc. en todo momento, lo que permite esta estructuración de scripts Ant.

Cuando estoy trabajando con varios módulos que también creará una escritura de la estructura principal que contiene todos los objetivos comunes, que son impulsados ​​por las variables en los archivos de propiedades específicas del módulo ..

+0

Supongo que hoy en día para 1) deberías usar 'macrodef'. – abergmeier

+0

Sí, definitivamente use 'macrodef' para esto o simplemente cambie a Maven (que creo que comenzó su ciclo de vida y una serie de' macrodef' antes de la rica estructura de Mojo utilizada hoy en día). –

Cuestiones relacionadas