Statistics
| Revision:

svn-gvsig-desktop / tags / v2_0_0_prep_before_2001 / install / instalador-gvSIG-mac / HOWTO-BUILD.txt @ 47840

History | View | Annotate | Download (3.25 KB)

1 10614 mija
INSTALACIONES COMPLETAS:
2
Para generar el bundle (.app) para Mac, se debe lanzar el script de Ant "build.xml".
3 9344 mija
Supone definida la variable build.number .
4 10614 mija
Dentro define FULLVERSION (habr? que cambiarlo para cada versi?n mayor, claro)
5
build.xml llama a build-bundle.xml para crear el bundle de gvSIG; luego lo mover? dentro del bundle "autoinstalador".
6
build-bundle.xml usa un Ant Task llamado Jarbundler, que se puede obtener en http://jarbundler.sourceforge.net/. Hay que instalarlo en la librer?a del Ant que se use.
7 9344 mija
Si se desea usar con el Ant incluido en Eclipse, adem?s se debe a?adir xercesImpl.jar, que va incluido en los Ant "normales" pero no en el de Eclipse. (Tambi?n se puede redefinir el ANTHOME en las preferencias de Eclipse para apuntar a un Ant instalado aparte, en el se haya instalador el jarbundler).
8
9 10614 mija
El classpath que usar? gvSIG est? hardcoded en linea "extraclasspath" de task jarbundler de build-bundle.xml. Ese classpath debe ser el mismo que se define en el gvSIG.sh de Linux, por ejemplo.
10
11
12
13 12500 mija
EXPLICACION DETALLADA:
14 10614 mija
OS X puede ejecutar un fichero.jar con un doble click, pero eso es equivalente a "java fichero.jar", sin m?s par?metros.
15 12489 mija
Para que se ejecute con unos par?metros y un classpath, un icono propio y la metainformaci?n necesaria para parecer una aplicaci?n normal de mac, lo convertimos en un bundle.
16
Un bundle es un directorio con nombre *.app y una cierta estructura de directorios.
17 17802 mijail
<miBundle.app>/Contents/Info.plist es un fichero XML con la metainfo necesaria para que OS X sepa ciertas cosas sobre la aplicaci?n: ficheros que puede abrir (extensiones, mimetypes, visor o editor, etc), icono, nombre/s que presentar al usuario, numeros de versi?n...
18 10614 mija
En el caso de aplicaciones java, tambi?n incluye el classpath, par?metros para la aplicaci?n y la JVM, etc.
19 17802 mijail
Para el caso de gvSIG, en <miBundle.app>/Contents/Resources/Java/ ir? una copia del directorio gvsig/bin/ de un build normal.
20 10614 mija
De todo esto se encarga build-bundle.xml.
21
22
Luego, como en mac no es normal usar instaladores (sino que las aplicaciones son autocontenidas: se instalan copiando el bundle al disco duro, se desinstalan tirando el bundle a la papelera), usamos una peque?a aplicaci?n auxiliar: autoinstalador.app.
23
Autoinstalador.app est? pensado para contener el bundle de gvSIG creado en el paso anterior. De forma que el usuario ejecuta el autoinstalador con un doble click, y ?ste se encarga de comprobar que JAI y JAI I/O est?n correctamente instalados. Si no es as? los instala. Y acto seguido ejecuta el bundle de gvSIG que lleva dentro, de forma que para el usuario la instalaci?n es transparente (pero se le avisa de lo que est? pasando).
24
La estructura que nos interesa del autoinstalador es:
25
autoinstalador.app/
26
	Contents/
27
		Resources/
28
			instalacion/
29
				(JAI para OS X 10.3, JAI I/O, programa java para chequear instalacion)
30
			gvSIG/
31
				bundle gvSIG.app
32
			(...directorios de localizaci?n...)
33
34
35 12489 mija
build.xml se encarga de:
36 17802 mijail
-- llamar a build-bundle.xml, que crea el bundle "gvSIG.app" con sus librerias nativas;
37 12489 mija
-- y luego, de meter el bundle "gvSIG.app" en el bundle autoinstalador.
38
El resultado final es un autoinstalador completo.
39
40
Nota: un usuario "normal" (no-desarrollador) de mac posiblemente no sepa qu? es un bundle. La forma normal de llamarlos es "aplicaci?n", y se suele considerar un item indivisible.