Migración a maven y nueva estructura de proyectos
En gvSIG 2.0 se ha migrado de ant a maven como herramienta de construcción de proyectos. Por lo tanto, tendremos que reemplazar el archivo build.xml de ant por un archivo pom.xml de maven.
Se puede encontrar documentación sobre el formato del archivo pom.xml, así como de maven en general en la propia Web del proyecto maven
También se puede encontrar una breve introducción, así como una descripción del uso de maven que se realiza en el proyecto en la Guía de desarrollo de gvSIG 2.0
Además, maven supone una estructura de proyecto por defecto que nos permite realizar las operaciones de construcción más habituales con una configuración mínima, por lo que será conveniente adaptar la estructura de proyecto a migrar a la estructura por defecto de maven.
Por otro lado, es más cómodo crear un proyecto nuevo a partir de las plantillas o arquetipos de maven, e ir migrando los contenidos del proyecto antiguo al recién creado, que intentar convertir el proyecto antiguo directamente.
Para ello se han creado unas plantillas de proyecto en maven (arquetipos) que nos permiten crear un proyecto sencillo con todo lo necesario para empezar a trabajar. Tenemos diversos arquetipos disponibles:
Si se trata de proyecto interno, usar el arquetipo create library o create extension, según el tipo de proyecto que corresponda.
Si el proyecto que vamos a migrar es una extensión, la correspondencia entre la ubicación habitual antigua de los directorios y la de maven es la siguiente:
- Fuentes: src -> src/main/java
- Fuentes tests: src-test -> src/test/java
- Textos multiidioma: config -> src/main/resources/locale
- config.xml: config -> src/main/resources/config
- Imágenes: images -> src/main/resources/images
- about.htm: config -> src/main/resources/about
- build.number: [RAÍZ] -> src/main/resources
Si se trata de un proyecto externo, para crear la estructura inicial del mismo podemos seguir las instrucciones del documento Creando nuestro proyecto .
Note
queda pendiente crear y documentar el arquetipo de proyecto multimódulo externo.