svn-gvsig-desktop / trunk / org.gvsig.desktop / README.txt @ 40462
History | View | Annotate | Download (5.18 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 | -Xms256m -Xmx512m -XX:PerenmSize=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:PerenmSize=64m -XX:MaxPermSize=128m" |
||
38 | |||
39 | En windows .... ¿? FIXME |
||
40 | |||
41 | |||
42 | Si esta compilando desde eclipse, precisara tener instalado el plugin maven2e |
||
43 | |||
44 | 40462 | jjdelcerro | Usando maven2, cuando no especifica correctamente estos valores pueden |
45 | aparecerle errores como: |
||
46 | 40435 | jjdelcerro | |
47 | - Error "Compilation failure...":: |
||
48 | |||
49 | [ERROR] BUILD FAILURE |
||
50 | 40462 | jjdelcerro | [INFO] --------------------------------------------------------------- |
51 | 40435 | jjdelcerro | [INFO] Compilation failure |
52 | Failure executing javac, but could not parse the error: |
||
53 | |||
54 | |||
55 | The system is out of resources. |
||
56 | Consult the following stack trace for details. |
||
57 | java.lang.OutOfMemoryError: PermGen space |
||
58 | |||
59 | |||
60 | - Error "Error while executing forked tests...":: |
||
61 | |||
62 | [ERROR] BUILD ERROR |
||
63 | 40462 | jjdelcerro | [INFO] --------------------------------------------------------------- |
64 | 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 |
65 | |||
66 | java.io.IOException: error=12, Cannot allocate memory |
||
67 | |||
68 | gvsig-devel.properties |
||
69 | ------------------------------ |
||
70 | |||
71 | 40462 | jjdelcerro | Por defecto al ejecutar "mvn install" sobre org.gvsig.desktop la aplicacion |
72 | se desplegara en la carpeta target/product de ese mismo directorio. Una vez |
||
73 | ejecutado ese primer comando maven sobre la carpeta org.gvsig.desktop debera |
||
74 | editar el fichero ".gvsig-devel.properties" de la carpeta del usuario si |
||
75 | desea cambiarlo. |
||
76 | 40435 | jjdelcerro | |
77 | 40462 | jjdelcerro | Si tiene varios espacios de trabajo y desea que cada uno despliegue sobre |
78 | una carpeta distinta puede copiar el fichero de su carpeta de usuario a la |
||
79 | carpeta raiz de org.gvsig.desktop con el nombre "gvsig-devel.properties" y |
||
80 | cambiar en el sobre donde quiere hacer el despliegue, asi puede tener varias |
||
81 | "instancias" del desarrollo de gvSIG desplegandose sobre sitios distintos. |
||
82 | 40435 | jjdelcerro | |
83 | 40462 | jjdelcerro | Si ejecuta "mvn install" desde algun subproyecto de org.gvsig.desktop tenga |
84 | en cuenta que solo se utilizara el fichero ".gvsig-devel.properties" que hay |
||
85 | en su carpeta de usuario y no el del que se encuentre en org.gvsig.desktop. |
||
86 | 40435 | jjdelcerro | |
87 | Notas pendientes |
||
88 | ================= |
||
89 | |||
90 | Puede ser interesante mirar el plugin |
||
91 | |||
92 | http://mojo.codehaus.org/versions-maven-plugin/ |
||
93 | |||
94 | |||
95 | Importantes |
||
96 | ------------- |
||
97 | |||
98 | - En el pom de org.gvsig.desktop.installer hay una variable que falta por |
||
99 | definir. No tengo nada claro que valor a de tener. |
||
100 | |||
101 | 40462 | jjdelcerro | - Hay que añadir la gestion de alias de paquetes del administrador de |
102 | complementos. |
||
103 | 40435 | jjdelcerro | |
104 | A tener en cuenta |
||
105 | -------------------- |
||
106 | |||
107 | 40462 | jjdelcerro | - Andami se lleva ahora muchas mas dependencias que antes, entre otras el |
108 | api de la libreria de proyecciones (se lo lleva org.gvsig.ui) pero como |
||
109 | no se lleva una implementacion peta en la inicializacion. De momento he |
||
110 | puesto un exclude de org.gvsig.projection en el assembly. |
||
111 | |||
112 | 40435 | jjdelcerro | - Los snappers que hay en appgvsig dependen de jts. |
113 | Habria que ver de cambiar su implementacion para que usen el API |
||
114 | de la libreria de geometrias y eliminar la dependencia de compilacion |
||
115 | de appgvsig hacia jts del pom. |
||
116 | |||
117 | - TangentPointSnapper |
||
118 | - PixelSnapper |
||
119 | - MediumPointSnapper |
||
120 | - PerpendicularPointSnapper |
||
121 | - NearestPointSnapper |
||
122 | |||
123 | 40462 | jjdelcerro | - La clase Line2DOffset en org.gvsig.symbology.lib.impl hace uso intensivo |
124 | de JTS. Ver si es viable crear una operacion sobre la geometria que haga |
||
125 | lo que hace esa clase. |
||
126 | 40435 | jjdelcerro | |
127 | - En org.gvsig.symbology.swing se hace uso de funcionalidades de andami. |
||
128 | |||
129 | - Hay que repasar la asignacion de iconos a las capas. Ver la extension |
||
130 | de extDWG, pero puede afectar a otras. |
||
131 | |||
132 | - Ver que pasa con las clases de DAL FeatureQueryOrder y DefaultFeatureComparator. |
||
133 | 40462 | jjdelcerro | De momento he hecho una chapuza y he incrustado DefaultFeatureComparator |
134 | dentro de FeatureQueryOrder en el API. |
||
135 | 40435 | jjdelcerro | |
136 | 40462 | jjdelcerro | - En la libreria de geometrias, la operacion Equals y el metodo equals de |
137 | Geometry hacen cosas distintas. En mapcontext, EqualsGeometryEvaluator, |
||
138 | he sustituido la llamada a la operacion por el metodo. |
||
139 | 40435 | jjdelcerro | |
140 | 40462 | jjdelcerro | - El proyecto org.gvsig.new.layer.lib.impl tiene una dependencia con |
141 | org.gvsig.projection.cresques.ui |
||
142 | 40435 | jjdelcerro | |
143 | 40462 | jjdelcerro | - En PluginServices, en el metodo getPluginHomeFolder, habria que hacer que |
144 | si es nuevo copie los contenidos de los AlternativeNames a el. De esta |
||
145 | forma seguira funcionanado con la configuracion que tuviese el usuario |
||
146 | aunque se renombre un plugin. |
||
147 | 40435 | jjdelcerro | |
148 | |||
149 | |||
150 |