Personal tools
gvSIG Desktop
gvSIG Desktop

Cached time 11/21/13 17:45:09 Clear cache and reload

 
Document Actions

Las dependencias entre los distintos proyectos

by Joaquin Jose del Cerro Murciano last modified 2012-03-12 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>
    

View source document Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: