Statistics
| Revision:

svn-gvsig-desktop / tags / org.gvsig.desktop-2.0.13 / README.txt @ 44118

History | View | Annotate | Download (5.4 KB)

1 40435 jjdelcerro
2
Como compilar
3
================
4
5
Para compilar la aplicacion gvSIG es necesario disponer de:
6
7
- maven instalado en el sistema, recomenado maven 3 (aunque podria compilar
8
  con maven 2).
9
10
- Acceso a internet para acceder a los repositorios de maven de la aplicacion.
11
12 40462 jjdelcerro
- Si usan maven2 debera configurar la variable MAVEN_OPTS con el valor adecuado
13
  (ver "notas de compilacion").
14 40435 jjdelcerro
15
- Descargar la carpeta org.gvsig.desktop y ejecutar "mvn clean install".
16
17 40462 jjdelcerro
  Esto, por defecto, desplegara en la carpeta target/product la instalacion
18
  de gvSIG.
19 40435 jjdelcerro
20
Notas de compilacion
21
========================
22
23
MAVEN_OPTS
24
------------
25
26 40462 jjdelcerro
Usando maven 2, para que compile correctamente gvsig precisaremos especificar
27
en la variable MAVEN_OPTS una serie de valores para reserbar memoria para el
28
compilador.
29 40435 jjdelcerro
30
Valores adecuados para la compilacion del proyecto "org.gvsig.desktop" son::
31
32 40476 jldominguez
  -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m
33 40435 jjdelcerro
34
Para asignar estos valores en linux puede hacerlo ejecutando la siguiente
35
instruccion en la linea de comandos desde la que vaya a compilar::
36
37 40476 jldominguez
  export MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m"
38 40435 jjdelcerro
39
40 40476 jldominguez
En Windows se establece en esta opci?n o similar
41
(depende de versi?n de Windows):
42 40435 jjdelcerro
43 40476 jldominguez
  Panel de control
44
    > Sistema
45
      > Configurac?n avanzada del sistema
46
        > Variables de entorno
47
          > Nueva (en el valor no hace falta comillas)
48
49
50 40435 jjdelcerro
Si esta compilando desde eclipse, precisara tener instalado el plugin maven2e
51
52 40462 jjdelcerro
Usando maven2, cuando no especifica correctamente estos valores pueden
53
aparecerle errores como:
54 40435 jjdelcerro
55
- Error "Compilation failure..."::
56
57
    [ERROR] BUILD FAILURE
58 40462 jjdelcerro
    [INFO] ---------------------------------------------------------------
59 40435 jjdelcerro
    [INFO] Compilation failure
60
    Failure executing javac, but could not parse the error:
61
62
63
    The system is out of resources.
64
    Consult the following stack trace for details.
65
    java.lang.OutOfMemoryError: PermGen space
66
67
68
- Error "Error while executing forked tests..."::
69
70
    [ERROR] BUILD ERROR
71 40462 jjdelcerro
    [INFO] ---------------------------------------------------------------
72 40435 jjdelcerro
    [INFO] Error while executing forked tests.; nested exception is org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.CommandLineException: Error setting up environmental variables
73
74
    java.io.IOException: error=12, Cannot allocate memory
75
76
gvsig-devel.properties
77
------------------------------
78
79 40462 jjdelcerro
Por defecto al ejecutar "mvn install" sobre org.gvsig.desktop la aplicacion
80
se desplegara en la carpeta target/product de ese mismo directorio. Una vez
81
ejecutado ese primer comando maven sobre la carpeta org.gvsig.desktop debera
82
editar el fichero ".gvsig-devel.properties" de la carpeta del usuario si
83
desea cambiarlo.
84 40435 jjdelcerro
85 40462 jjdelcerro
Si tiene varios espacios de trabajo y desea que cada uno despliegue sobre
86
una carpeta distinta puede copiar el fichero de su carpeta de usuario a la
87
carpeta raiz de org.gvsig.desktop con el nombre "gvsig-devel.properties" y
88
cambiar en el sobre donde quiere hacer el despliegue, asi puede tener varias
89
"instancias" del desarrollo de gvSIG desplegandose sobre sitios distintos.
90 40435 jjdelcerro
91 40462 jjdelcerro
Si ejecuta "mvn install" desde algun subproyecto de org.gvsig.desktop tenga
92
en cuenta que solo se utilizara el fichero ".gvsig-devel.properties" que hay
93
en su carpeta de usuario y no el del que se encuentre en org.gvsig.desktop.
94 40435 jjdelcerro
95
Notas pendientes
96
=================
97
98
Puede ser interesante mirar el plugin
99
100
http://mojo.codehaus.org/versions-maven-plugin/
101
102
103
Importantes
104
-------------
105
106
- En el pom de org.gvsig.desktop.installer hay una variable que falta por
107
  definir. No tengo nada claro que valor a de tener.
108
109 40462 jjdelcerro
- Hay que a?adir la gestion de alias de paquetes del administrador de
110
  complementos.
111 40435 jjdelcerro
112
A tener en cuenta
113
--------------------
114
115 40462 jjdelcerro
- Andami se lleva ahora muchas mas dependencias que antes, entre otras el
116
  api de la libreria de proyecciones (se lo lleva org.gvsig.ui) pero como
117
  no se lleva una implementacion peta en la inicializacion. De momento he
118
  puesto un exclude de org.gvsig.projection en el assembly.
119
120 40435 jjdelcerro
- Los snappers que hay en appgvsig dependen de jts.
121
  Habria que ver de cambiar su implementacion para que usen el API
122
  de la libreria de geometrias y eliminar la dependencia de compilacion
123
  de appgvsig hacia jts del pom.
124
125
  - TangentPointSnapper
126
  - PixelSnapper
127
  - MediumPointSnapper
128
  - PerpendicularPointSnapper
129
  - NearestPointSnapper
130
131 40462 jjdelcerro
- La clase Line2DOffset en org.gvsig.symbology.lib.impl hace uso intensivo
132
  de JTS. Ver si es viable crear una operacion sobre la geometria que haga
133
  lo que hace esa clase.
134 40435 jjdelcerro
135
- En org.gvsig.symbology.swing se hace uso de funcionalidades de andami.
136
137
- Hay que repasar la asignacion de iconos a las capas. Ver la extension
138
  de extDWG, pero puede afectar a otras.
139
140
- Ver que pasa con las clases de DAL FeatureQueryOrder y DefaultFeatureComparator.
141 40462 jjdelcerro
  De momento he hecho una chapuza y he incrustado DefaultFeatureComparator
142
  dentro de FeatureQueryOrder en el API.
143 40435 jjdelcerro
144 40462 jjdelcerro
- En la libreria de geometrias, la operacion Equals y el metodo equals de
145
  Geometry hacen cosas distintas. En mapcontext, EqualsGeometryEvaluator,
146
  he sustituido la llamada a la operacion por el metodo.
147 40435 jjdelcerro
148 40462 jjdelcerro
- El proyecto org.gvsig.new.layer.lib.impl tiene una dependencia con
149
  org.gvsig.projection.cresques.ui
150 40435 jjdelcerro
151 40462 jjdelcerro
- En PluginServices, en el metodo getPluginHomeFolder, habria que hacer que
152
  si es nuevo copie los contenidos de los AlternativeNames a el. De esta
153
  forma seguira funcionanado con la configuracion que tuviese el usuario
154
  aunque se renombre un plugin.
155 40435 jjdelcerro