Herramientas Personales
gvSIG Desktop
gvSIG Desktop

Cached time 11/21/13 07:54:14 Clear cache and reload

 
Acciones de Documento

Las dependencias entre los distintos proyectos

por Joaquin Jose del Cerro MurcianoÚltima modificación 12/03/2012 15:23

Primero veamos qué dependencias nos ha dejado puestas el asistente en el proyecto org.gvsig.visor. Si miramos el fichero pom.xml, de ese proyecto, en la sección dependencyManagement observaremos la siguiente entrada:

<dependencies>
  <dependency>
    <groupId>org.gvsig</groupId>
    <artifactId>org.gvsig.core.maven.dependencies</artifactId>
    <version>2.0.1-SNAPSHOT</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
</dependencies>

Esto importa las dependencias de las distintas librerías de gvSIG, de forma que para todas las librerías base de gvSIG no tengamos que preocuparnos por la versión de cada una de ellas. Como esta importación está realizada en la sección dependencyManagement, solo es a título informativo, es decir, no fija una dependencia con esas librerías.

Si vemos ahora la sección dependencies, encontraremos la entrada:

<dependency>
  <groupId>org.gvsig</groupId>
  <artifactId>org.gvsig.core.maven.dependencies</artifactId>
  <version>2.0.1-SNAPSHOT</version>
  <type>pom</type>
  <scope>test</scope>
</dependency>

Con esto se fijarán dependencias de ejecución y test para todas las librerías base de gvSIG, así no tendremos que preocuparnos por que estén cargadas las implementaciones de todos los APIs de gvSIG cuando se ejecuten los test de nuestros proyectos.

Además de nos encontraremos con:

<dependency>
  <groupId>org.gvsig</groupId>
  <artifactId>org.gvsig.tools.lib</artifactId>
  <type>jar</type>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.gvsig</groupId>
  <artifactId>org.gvsig.tools.lib</artifactId>
  <type>test-jar</type>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.gvsig</groupId>
  <artifactId>org.gvsig.fmap.geometry</artifactId>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.gvsig</groupId>
  <artifactId>org.gvsig.fmap.dal</artifactId>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.gvsig</groupId>
  <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
  <scope>compile</scope>
</dependency>

Ahí se fijan dependencias de compilación con las principales librerías de gvSIG, y que normalmente precisaremos en casi cualquier proyecto que vayamos a hacer y trabaje con gvSIG.

Esta configuración de dependencias la encontramos en el proyecto principal. Veamos ahora qué dependencias precisaremos en los subproyectos.

  • org.gvsig.visor.lib/pom.xml Este no aporta ninguna declaración de dependencias adicional a la que define el proyecto padre que ya hemos comentado.

  • org.gvsig.visor.lib.api/pom.xml Tampoco aporta nuevas dependencias.

  • org.gvsig.visor.lib.impl/pom.xml. No aporta nuevas dependencias, pero deberemos añadir en este proyecto las dependencias con el proyecto del API, tanto para compilación como para ejecución de tests.

  • org.gvsig.visor.swing/pom.xml que aunque no aporta nuevas dependencias, define como dependencias los proyectos del lib.api.

  • org.gvsig.visor.swing.api/pom.xml que no aporta nuevas dependencias.

  • org.gvsig.visor.swing.imple/pom.xml que aunque no aporta nuevas dependencias, deberá declarar sus dependencias con el API de swing para test y compilación.

    Warning

    También tiene una dependencia con la implementación para compilación que no creo que debiese tener, hay que repasarlo.

  • y por último org.gvsig.visor.main/pom.xml. Este declarará las dependencias con el API de nuestras librerías para compilación y con la implementación para ejecución. Y además añade dependencias de compilación con las librerías de gvSIG que utiliza, estas son:

    <dependency>
      <groupId>org.gvsig</groupId>
      <artifactId>org.gvsig.fmap.control</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.gvsig</groupId>
      <artifactId>org.gvsig.fmap.dal</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.gvsig</groupId>
      <artifactId>org.gvsig.fmap.geometry</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.gvsig</groupId>
      <artifactId>org.gvsig.fmap.mapcontext</artifactId>
      <scope>compile</scope>
    </dependency>
    

Hecho con Plone CMS, el Sistema de Gestión de Contenidos de Fuentes Abiertos

Este sitio cumple con los siguientes estándares: