uso tengo saber que proyecto multiproyectos instalado crear compile como arquetipo java maven-2 build-process

java - tengo - multiproyectos gradle



Preprocesamiento del código fuente como parte de una construcción maven (3)

Esto es algo que es muy factible y he hecho algo muy similar en el pasado.

Un ejemplo de un proyecto mío, donde utilicé el complemento antrun para ejecutar un programa externo para procesar fuentes:

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>process-sources</id> <phase>process-sources</phase> <configuration> <tasks> <!-- Put the code to run the program here --> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

Tenga en cuenta la etiqueta donde indico la fase donde se ejecuta. La documentación para los ciclos de vida en Maven está aquí . Otra opción es escribir realmente su propio complemento Maven que hace esto. Es un poco más complejo, pero también es factible. Todavía lo configurará de manera similar a lo que he documentado aquí.

Tengo un montón de código fuente de Java que requiere un preprocesamiento personalizado. Me gustaría deshacerme de él, pero eso no es factible en este momento, así que estoy atascado con eso. Dado que tengo un desafortunado problema que no debería haber existido desde el principio, ¿cómo lo resuelvo usando maven?

(Para la historia completa, estoy reemplazando un sistema de compilación basado en python con uno maven, por lo que una mejora a la vez, por favor. Reparar el código fuente no estándar es más difícil, y vendrá después).

¿Es posible usar cualquier plugin Maven existente para alterar realmente los archivos fuente durante el tiempo de compilación? (Obviamente, solo se deja el código original no procesado)

Para ser claros, me refiero al preprocesamiento en el mismo sentido en que la antena o un compilador de C preprocesarán el código, y por costumbre me refiero a que es completamente propietario y no se parece en nada al preprocesamiento de C o de antena.


Los plugins de Maven pueden engancharse en el proceso de compilación en el momento de la pre-compilación sí, en cuanto a si los existentes ayudarán o no, no tengo ni idea.

Sin embargo, escribí un plugin de maven hace un par de años como parte de un proyecto universitario, y aunque la documentación era un poco deficiente en ese momento, no era demasiado complicado. Por lo tanto, es posible que desee comenzar su propio proyecto, debe haber muchos proyectos de código abierto de los que pueda extraer ideas o código (el nuestro tenía licencia de BSD, por ejemplo ...)