gvSIG bugs #219

Deploy library jar on extension instead of the library itself

Added by Francisco Puga over 12 years ago. Updated over 10 years ago.

Status:In progress% Done:

0%

Priority:Urgent
Assignee:Francisco Puga
Category:-
Target version:-
Severity: Add-on name:Unknown
gvSIG version:1.12.0 Add-on version:
gvSIG build:1204 Add-on build:
Operative System: Add-on resolve version:
Keywords: Add-on resolve build:
Has patch:Yes

Description

In this moment making a clean checkout of the trunk there are compilation errors on extGPE-gvSIG. This happens because some changes have been done in the project libGPE and the jar that this project builds has not been deployed on the project extGPE-gvSIG.

This is very common working with gvSIG, so i suggest to avoid these situations that the default target on the build.xml of the libraries deploys the jar in its final path.

Also i like to remove from the repo the jars build from the "library projects" that are upload to the lib folder of the projects libXXX. This makes that the jar were located in a single point in the repo, and not in two places (the library and the extension), so it's easier detect when there are changes of problems.

Attached patch 002 fix the build.xml of the projects libGPE, libGPE-GML, libGPE-KML, libGPE-XML.
Attached patch 001 update the jar of extGPE-gvSIG, and remove the jar from the libraries.

0001-gvsig-desktop-219.patch Magnifier (1.55 MB) Francisco Puga, 01/31/2012 05:38 PM

0002-gvsig-desktop-219.patch Magnifier (5.44 KB) Francisco Puga, 01/31/2012 05:38 PM

History

#1 Updated by Pablo Sanxiao over 12 years ago

  • Priority changed from Normal to Urgent

#2 Updated by Joaquín del Cerro Murciano over 12 years ago

A partir de la version 1.0 de gvSIG desde los responsables de desarrollo en el proyecto hemos intentado mantener las dependencias de forma que una libreria no dependenda de una extension. Las librerias, aunque sean librerias desarrolladas por el propio proyecto intentamos que mantengan su independencia y puedan ser usadas y compiladas de forma autonoma. Con unas se ha conseuido mejor y con otras no tanto. Siguiendo esta filosofia, cuando el proyecto de un plugin usa una libreria, el responsable de ese proyecto debe encargarse de mantener la libreria actrualizada a la version que crea conveniente, tanto si es una libreria de terceros como si es una libreria desarrollada en el seno del proyecto. La dependencia es desde el plugin hacia la libreria. Esa es la causa de que cuando se realizan cambios en una libreria no se despleguen al proyecto del plugin que la usa. Hacer eso seria fijar una dependencia que forzase que para compilar la libreria debemos tener el workspace de gvSIG con el proyecto del plugin donde se desplega como minimo.

Como comento, esa es la linea que se intentaba seguir, y en ella fue una de las razones de migrar a maven, para tener asi un repo de librerias unico en donde todas nuestras librerias se desplegan y desde el que los proyectos que las necesitan pueden cogerlas.

En la linea de la 1, eso era un intentar ir hacia un sitio con unas herramientas que no lo hacian nada facil, apesar de lo cual consideramos que merecia la pena.

El cambio que pides no es un cambio en unas lineas de codigo. Se trata de un cambio en la forma en que se quiere trabajar. Creo que ese cambio los que deberian decidirlo son los responsables de mantener la linea de la 1, esta version, la 1.12, y posibles versiones que pudiesen venir detras.

Ahora mismo, para ser sincero, no se quien deberia dar luz verde a este cambio.

Un saludo.

#3 Updated by Francisco Puga about 12 years ago

Estoy de acuerdo en que lo que propongo no es lo más ortodoxo. Pero actualmente hay un problema grave con esto. El trunk no compila, el remote-services.jar que se está distribuyendo es una versión antigua, ...

La metodología está para evitar problemas, y ahorrar tiempo, y en este caso no lo está haciendo. La realidad es que nadie toca una de esas librerías si no es con un workspace de gvSIG montando, porque es la forma en la que se están probando. Y en caso de que alguien quiere hacerlo es simplemente cambiar el target. Se puede reescribir un poco el build para que las tareas queden más claras y dejar un comentario en la descripción.

Sobre quien tiene que decidir, supongo que quien se vaya a comer los marrones es quien debería tener más peso en caso de duda pero tampoco tiene que ser blanco o negro.

#4 Updated by Jorge Sanz about 12 years ago

Hi all,

The TSC board has approved this proposal positively. The proposal can be accessed here

Sorry for the delay, I'll try to be more sedulous next time.

#5 Updated by Francisco Puga about 12 years ago

  • Status changed from New to In progress
  • Target version deleted (1.12.0-rc1)

#6 Updated by Álvaro Anguix over 10 years ago

  • Project changed from Application: gvSIG desktop to | gvSIG desktop 1

Also available in: Atom PDF