Statistics
| Revision:

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

History | View | Annotate | Download (5.4 KB)

1

    
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
- Si usan maven2 debera configurar la variable MAVEN_OPTS con el valor adecuado 
13
  (ver "notas de compilacion").
14

    
15
- Descargar la carpeta org.gvsig.desktop y ejecutar "mvn clean install".
16
  
17
  Esto, por defecto, desplegara en la carpeta target/product la instalacion 
18
  de gvSIG.
19

    
20
Notas de compilacion
21
========================
22

    
23
MAVEN_OPTS
24
------------
25

    
26
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

    
30
Valores adecuados para la compilacion del proyecto "org.gvsig.desktop" son::
31

    
32
  -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m
33

    
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
  export MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m"
38

    
39

    
40
En Windows se establece en esta opci?n o similar
41
(depende de versi?n de Windows):
42

    
43
  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
Si esta compilando desde eclipse, precisara tener instalado el plugin maven2e
51

    
52
Usando maven2, cuando no especifica correctamente estos valores pueden 
53
aparecerle errores como:
54

    
55
- Error "Compilation failure..."::
56

    
57
    [ERROR] BUILD FAILURE
58
    [INFO] ---------------------------------------------------------------
59
    [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
    [INFO] ---------------------------------------------------------------
72
    [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
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

    
85
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

    
91
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

    
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
- Hay que a?adir la gestion de alias de paquetes del administrador de 
110
  complementos.
111

    
112
A tener en cuenta
113
--------------------
114

    
115
- 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
- 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
- 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

    
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
  De momento he hecho una chapuza y he incrustado DefaultFeatureComparator 
142
  dentro de FeatureQueryOrder en el API.
143

    
144
- 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

    
148
- El proyecto org.gvsig.new.layer.lib.impl tiene una dependencia con
149
  org.gvsig.projection.cresques.ui
150

    
151
- 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

    
156