svn-gvsig-desktop / trunk / org.gvsig.desktop / README.txt @ 40435
History | View | Annotate | Download (5.45 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 | - Configurar la variable MAVEN_OPTS con el valor adecuado (ver "notas de compilacion"). |
||
13 | |||
14 | - Descargar la carpeta org.gvsig.desktop y ejecutar "mvn clean install". |
||
15 | |||
16 | Esto, por defecto, desplegara en la carpeta target/product la instalacion de gvSIG. |
||
17 | |||
18 | Notas de compilacion |
||
19 | ======================== |
||
20 | |||
21 | MAVEN_OPTS |
||
22 | ------------ |
||
23 | |||
24 | Para que compile correctamente gvsig precisaremos especificar en la variable |
||
25 | MAVEN_OPTS una serie de valores para reserbar memoria para el compilador. |
||
26 | |||
27 | Valores adecuados para la compilacion del proyecto "org.gvsig.desktop" son:: |
||
28 | |||
29 | -Xms256m -Xmx512m -XX:PerenmSize=64m -XX:MaxPermSize=128m |
||
30 | |||
31 | Para asignar estos valores en linux puede hacerlo ejecutando la siguiente |
||
32 | instruccion en la linea de comandos desde la que vaya a compilar:: |
||
33 | |||
34 | export MAVEN_OPTS="-Xms256m -Xmx512m -XX:PerenmSize=64m -XX:MaxPermSize=128m" |
||
35 | |||
36 | En windows .... ¿? FIXME |
||
37 | |||
38 | |||
39 | Si esta compilando desde eclipse, precisara tener instalado el plugin maven2e |
||
40 | y para configurarlo especifique en .... ¿? FIXME |
||
41 | |||
42 | Cuando no especifica correctamente estos valores pueden aparecerle errores como: |
||
43 | |||
44 | |||
45 | - Error "Compilation failure...":: |
||
46 | |||
47 | [ERROR] BUILD FAILURE |
||
48 | [INFO] ------------------------------------------------------------------------ |
||
49 | [INFO] Compilation failure |
||
50 | Failure executing javac, but could not parse the error: |
||
51 | |||
52 | |||
53 | The system is out of resources. |
||
54 | Consult the following stack trace for details. |
||
55 | java.lang.OutOfMemoryError: PermGen space |
||
56 | |||
57 | |||
58 | - Error "Error while executing forked tests...":: |
||
59 | |||
60 | [ERROR] BUILD ERROR |
||
61 | [INFO] ------------------------------------------------------------------------ |
||
62 | [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 |
||
63 | |||
64 | java.io.IOException: error=12, Cannot allocate memory |
||
65 | |||
66 | gvsig-devel.properties |
||
67 | ------------------------------ |
||
68 | |||
69 | Por defecto al ejecutar "mvn install" sobre org.gvsig.desktop la aplicacion se desplegara |
||
70 | en la carpeta target/product de ese mismo directorio. Una vez ejecutado ese primer |
||
71 | comando maven sobre la carpeta org.gvsig.desktop debera editar el fichero |
||
72 | ".gvsig-devel.properties" de la carpeta del usuario si desea cambiarlo. |
||
73 | |||
74 | Si tiene varios espacios de trabajo y desea que cada uno despliegue sobre una carpeta distinta |
||
75 | puede copiar el fichero de su carpeta de usuario a la carpeta raiz de org.gvsig.desktop con el |
||
76 | nombre "gvsig-devel.properties" y cambiar en el sobre donde quiere hacer el despliegue, asi puede |
||
77 | tener varias "instancias" del desarrollo de gvSIG desplegandose sobre sitios distintos. |
||
78 | |||
79 | Si ejecuta "mvn install" desde algun subproyecto de org.gvsig.desktop tenga en cuenta que solo |
||
80 | se utilizara el fichero ".gvsig-devel.properties" que hay en su carpeta de usuario y no el del |
||
81 | que se encuentre en org.gvsig.desktop . |
||
82 | |||
83 | Notas pendientes |
||
84 | ================= |
||
85 | |||
86 | Puede ser interesante mirar el plugin |
||
87 | |||
88 | http://mojo.codehaus.org/versions-maven-plugin/ |
||
89 | |||
90 | |||
91 | Importantes |
||
92 | ------------- |
||
93 | |||
94 | - El plugin org.gvsig.mkmvnproject.app.mainplugin no se empaquete correctamente, no |
||
95 | se descarga los fuentes de las plantillas, no se por que no lo hace aunque en el poms |
||
96 | parece decirselo. |
||
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 | - No se estan generando los indices para los paquetes del administrador de complementos. |
||
102 | |||
103 | - Hay que añadir la gestion de alias de paquetes del administrador de complementos. |
||
104 | |||
105 | - Andami se lleva ahora muchas mas dependencias que antes, entre otras el api de la libreria |
||
106 | de proyecciones (se lo lleva org.gvsig.ui) pero como no se lleva una implementacion |
||
107 | peta en la inicializacion. De momento he puesto un exclude de org.gvsig.projection en el assembly. |
||
108 | |||
109 | A tener en cuenta |
||
110 | -------------------- |
||
111 | |||
112 | - 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 | - La clase Line2DOffset en org.gvsig.symbology.lib.impl hace uso intensivo de JTS. |
||
124 | Ver si es viable crear una operacion sobre la geometria que haga lo que hace esa clase. |
||
125 | |||
126 | - En org.gvsig.symbology.swing se hace uso de funcionalidades de andami. |
||
127 | |||
128 | - Hay que repasar la asignacion de iconos a las capas. Ver la extension |
||
129 | de extDWG, pero puede afectar a otras. |
||
130 | |||
131 | - Ver que pasa con las clases de DAL FeatureQueryOrder y DefaultFeatureComparator. |
||
132 | De momento he hecho una chapuza y he incrustado DefaultFeatureComparator dentro |
||
133 | de FeatureQueryOrder en el API. |
||
134 | |||
135 | - En la libreria de geometrias, la operacion Equals y el metodo equals de Geometry hacen |
||
136 | cosas distintas. En mapcontext, EqualsGeometryEvaluator, he sustituido la llamada a |
||
137 | la operacion por el metodo. |
||
138 | |||
139 | - El proyecto org.gvsig.new.layer.lib.impl tiene una dependencia con org.gvsig.projection.cresques.ui |
||
140 | |||
141 | - En PluginServices, en el metodo getPluginHomeFolder, habria que hacer que si es nuevo copie los |
||
142 | contenidos de los AlternativeNames a el. De esta forma seguira funcionanado con la configuracion |
||
143 | que tuviese el usuario aunque se renombre un plugin. |
||
144 | |||
145 | |||
146 |