gvSIG wishlist #3804

Declarar en org.gvsig.desktop variables para los nombres de las implementaciones.

Added by Joaquín del Cerro Murciano over 8 years ago. Updated over 8 years ago.

Status:ClosedSpent time:-
Priority:Normal
Category:-
Target version:-
Severity:Major

Description

Muchas de las librerias de gvSIG estan divididas en dos, API e implementacion.

Cuando un proyecto requiere de esas librerias para testing o tiene que declarar las dependencias de runtime, ademas del API declara como dependencia la implemenatcion.

Cuando añadimos implementaciones alternativas o dejan de usarse una implementacion para pasar a usar otra, normalmente cambia el nombre del artifactId de la implementacion con lo que hay que modificar todos los poms que la declaran.

Para evitar esto, en org.gvsig.desktop, ademas de declarar la version de estas en el dependencyManagement podria declarar variable con el artifactId de las implementaciones.

Por ejemplo, si tenemos:

  • org.gvsig.fmap.dal.api
  • org.gvsig.fmap.dal.impl
  • org.gvsig.fmap.geometry.api
  • org.gvsig.fmap.geometry.jts
  • org.gvsig.fmap.geometry.generalpath

Declarariamos las variables:

<org.gvsig.fmap.dal.impl>org.gvsig.fmap.dal.impl</org.gvsig.fmap.dal.impl>
<org.gvsig.fmap.geometry.impl>org.gvsig.fmap.geometry.jts</org.gvsig.fmap.geometry.impl>

Y para poner una dependencia de runtime o test con una implementacion se haria:

    <dependency>
      <groupId>org.gvsig</groupId>
      <artifactId>${org.gvsig.fmap.geometry.impl}</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.gvsig</groupId>
      <artifactId>${org.gvsig.fmap.dal.impl}</artifactId>
      <scope>test</scope>
    </dependency>

De esta forma cambiar las implementaciones no supondria actualizar los poms.

History

#1 Updated by Joaquín del Cerro Murciano over 8 years ago

  • Status changed from New to Fixed

#2 Updated by Álvaro Anguix over 8 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF