INSTALACIONES COMPLETAS: Para generar el bundle (.app) para Mac, se debe lanzar el script de Ant "build.xml". Supone definida la variable build.number . Dentro define FULLVERSION (habrá que cambiarlo para cada versión mayor, claro) build.xml llama a build-bundle.xml para crear el bundle de gvSIG. 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. 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). 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; pero con jai_imageio.jar añadido. EXPLICACION DETALLADA: OS X puede ejecutar un fichero.jar con un doble click, pero eso es equivalente a "java fichero.jar", sin más parámetros. 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. Un bundle es un directorio con nombre *.app y una cierta estructura de directorios. /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... En el caso de aplicaciones java, también incluye el classpath, parámetros para la aplicación y la JVM, etc. Para el caso de gvSIG, en /Contents/Resources/Java/ irá una copia del directorio gvsig/bin/ de un build normal. De todo esto se encarga build-bundle.xml. Hasta gvSIG 1.1.x inclusive se usaba además un bundle auxiliar "autoinstalador" que se encargaba de instalar JAI-ImageIO (si no lo estaba ya). Dado que causaba problemas, hemos abandonado eso y ahora se usa JAI-ImageIO en el Classpath de gvSIG. 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.