Estructura de un proyecto
Para empezar a trabajar, una vez generados nuestros proyectos con el asistente,
abriremos un *Eclipse*, seleccionando como workspace la carpeta que indicamos
en el asistente. Nos abrirá una instancia de Eclipse con un workspace vació.
Lo primero que haremos será importar los dos proyectos que han sido creados. Para ello
**no utilizaremos la opción importar**.
Desde el menú *File* seleccionaremos *New->Project...* (no proyecto java), en el
diálogo que nos presentará seleccionaremos la opción *General->Project* y pulsamos siguiente, y como nombre de proyecto pondremos *"org.gvsig.visor"*, y le daremos
a terminar. Una vez concluido esto haremos lo mismo con el proyecto *"org.gvsig.visor.app"*
.. tip::
Puede resultarle útil consultar la documentación existente
en la *Guía para desarrolladores* relacionada con esto, que
puede encontrar en la sección
`Estructura de un proyecto en gvSIG`_ asi como en
`Cosas a tener en cuenta antes de desarrollar un plugin`_ .
.. _`Cosas a tener en cuenta antes de desarrollar un plugin` : https://gvsig.org/web/reference_catalog/lookupObject?uuid=eb91eb79e1e1f2ec730bfe13bb649f6c
.. _`Estructura de un proyecto en gvSIG` : https://gvsig.org/web/reference_catalog/lookupObject?uuid=1dad723b0c168999e622de9c6bf03017
Vamos a echarle un vistazo al código generado. Los proyectos que se han creado son:
- *org.gvsig.visor*. Se trata de un proyecto Maven con varios subproyectos. En ellos
encontraremos dividido, la parte de la lógica, con su API
e implementación, así como la parte de interface de usuario asociada a los componentes
de la lógica, también con su API e implementación, y un proyecto que nos permitirá
probar esa lógica e interfaces de usuario sin necesidad de arrancar gvSIG. En general
los distintos componentes que encontremos aquí serán independientes del framework
de Andami así como de los plugins de gvSIG, siendo dependientes únicamente de otras
librerías. Los proyectos que nos encontraremos serán:
- *org.gvsig.visor.lib* con la lógica de nuestro proyecto
- *org.gvsig.visor.lib.api*
- *org.gvsig.visor.lib.impl*
- *org.gvsig.visor.swing* con el interface de usuario de nuestros
componentes lógicos.
- *org.gvsig.visor.swing.api*
- *org.gvsig.visor.swing.impl*
- *org.gvsig.visor.main*, nuestra *main* de pruebas.
- *org.gvsig.visor.app*. Este proyecto de Maven también es un proyecto multimódulo, o sea,
que tendrá subproyectos. Contendrá la implementación de los distintos plugins que
se van a añadir a gvSIG. Normalmente usará los componentes del proyecto *org.gvsig.visor*,
y se encargará de la integración de estos en gvSIG. En el proyecto de ejemplo que genera
la plantilla utilizada solo hay un subproyecto, *org.gvsig.visor.app.mainplugin* ya que
vamos a aportar un único plugin. Si tuviésemos necesidad de aportar más de un plugin
tendríamos un subproyecto por plugin.
Con esto ya podríamos trabajar, pero ya que Eclipse no es capaz de reconocer la estructura de
subproyectos de Maven, nos será mucho más cómodo importar los proyectos hijos como proyectos
de Eclipse.
Ejecutaremos la opción del menú *File->import*, y en el diálogo importar seleccionaremos
*General->Existing projects into workspace* y siguiente. Marcaremos *"Select root directory"*
y seleccionaremos la carpeta *"/home/gvsig/workspce/visor/org.gvsig.visor/org.gvsig.visor.lib"*.
Al hacer esto nos debería proponer como proyectos a añadir:
- org.gvsig.visor.lib.api
- org.gvsig.visor.lib.impl
Estarán seleccionados, así que simplemente pulsaremos el botón terminar.
Ahora repetiremos el proceso indicando como *"root directory"* las siguientes carpetas:
- /home/gvsig/workspce/visor/org.gvsig.visor/org.gvsig.visor.swing
- /home/gvsig/workspce/visor/org.gvsig.visor/org.gvsig.visor.main
- /home/gvsig/workspce/visor/org.gvsig.visor.app/org.gvsig.visor.app.mainplugin
Con esto tendremos ya en nuestro workspace importados todos los proyectos relacionados
con nuestro desarrollo.