gvSIG bugs #2224
Al indicar en el config.xml una dependencia opcional a veces parece no tener efecto
Status: | Closed | % Done: | 0% | |
---|---|---|---|---|
Priority: | Normal | Spent time: | - | |
Assignee: | Joaquín del Cerro Murciano | |||
Category: | Application | |||
Target version: | 2.3.0-2402 | |||
Severity: | Blocker | Add-on version: | ||
gvSIG version: | 2.1.0 | Add-on build: | ||
gvSIG build: | 2216 | Add-on resolve version: | ||
Operative System: | Add-on resolve build: | |||
Keywords: | Proyecto: | |||
Has patch: | No | Hito: | ||
Add-on name: | Unknown |
Description
Pues eso, que a veces las dependecias opcionales en el config.xml son ignoradas.
A ver si te puedo explicar lo que visto.
Si cuando carga los plugins se encuentra esto, por este orden:
- PluginA
- PluginB depende de PluginA opcional
Lo hace bien, mete en el classloader de PluginB el PluginA. Pero si se encuentra:
- PluginB depende de PluginA opcional
- PluginA
Cuando carga el PluginB no tiene cargado el PluginA y no la añade al classloader, y
como es opcional decide que no bloquea la carga del PluginB y sigue la carga del resto
con el classloader de PluginB "chungo".
Sepodria hacer que cuando encuentra el PluginB, si existe la carpeta del PluginA (dependencyPluginConfig!=null), en lugar de opcional lo trate como obligatorio, eso hara que continue la carga del resto sin cargar el B, y que lo intente en una segunda vuelta, con lo que cuando lo intente de nuevo ya estara cargado el A y funcionara.
En general esto iria, pero si por lo que sea peta la carga del PluginA lo interpretara como que hay una referencia ciclica y gvSIG no arrancara. No se lo grabe que puede ser esto. Se supone que tendria que haber un plugin con un config chungo o algo asi para que esto pasese.
Creo que el codigo de Launcher.pluginsClassLoaders habria que rehacerlo y cambiar el
algoritmo que usa pare resolver las dependencias, pero nunca se cuando puede ser
el momento de tocarlo.
Related issues
Associated revisions
refs #2224. rehecho el algoritmo de decision del orden de carga e inicializacion de los plugins.
History
#1 Updated by Álvaro Anguix about 10 years ago
- Assignee set to Joaquín del Cerro Murciano
#2 Updated by Álvaro Anguix about 10 years ago
Con los plugins que tenemos ahora (2220) no sucede.
#3 Updated by Ignacio Brodín about 10 years ago
Esto se solucionó hace dos o tres builds. Comprobé que funcionara porque afectaba para algún proyecto de raster. Yo lo pondría a fixed si Joaquin no dice lo contrario y en caso de que de problemas en el futuro se abre nuevamente.
#4 Updated by Álvaro Anguix about 10 years ago
- Target version changed from 2.1.0-2223-rc1 to 2.2.0-2311-rc2
Lo dejamos abierto porque no sucede, pero podría suceder si cambian las dependencias de algún plugin.
Vamos, que se queda abierto, para estar alertas y saber que hay que arreglarlo a futuro (lo paso post-2.1).
#5 Updated by Álvaro Anguix about 10 years ago
- Assignee deleted (
Joaquín del Cerro Murciano)
#6 Updated by Álvaro Anguix over 9 years ago
- Related to gvSIG bugs #2956: Raster calculator simplified GUI added
#7 Updated by Álvaro Anguix over 9 years ago
- Target version deleted (
2.2.0-2311-rc2)
#8 Updated by Joaquín del Cerro Murciano over 8 years ago
- Severity set to Blocker
- Target version set to 2.3.0-2402
- Assignee set to Joaquín del Cerro Murciano
- Status changed from New to Fixed
#9 Updated by Álvaro Anguix over 8 years ago
- Status changed from Fixed to Closed