Empaquetando aplicaciones java para MacOSX

A continuación voy a da algunas referencias que nos han ayudado en la automatización de la generacion de empaquetados para MacOSX, de aplicaciones java. En zylk.net empezamos a hacer nuestros primeros desarrollos multiplataforma allá por el año 2009 cuando desarrollamos, junto a otros miembros de la comunidad, la primera versión de sinadura. Después de 6 o 7 años el proceso de empaquetar aplicaciones para MacOSX lo hemos ido mejorando mientras hacíamos proyectos con izenpe, lantik etc... Este mes he estado involucrado en el desarrollo de un cliente de firma que use lo que se conoce como firma por protocolo. Este cliente funcinará con MacOSX y se distribuirá como un .dmg[0] con su .app para MacOSX.

Para poder automatizar la generación de los instaladores para las distintas plataformas usamos estrategias diferentes para cada sistema operativo.

  • Linux (Izpack[1][2] y la generación de un .run[3])
  • Windows (Izpack y launch4j[4])
  • MacOSX (JarBundle[5] y genisoimage[6])


En todos estos sabores de sistemas operativos y arquitecturas, automatizamos las generaciones usando ant o maven para que desde nuestra máquina de QA se puedan generar los empaquetados sin necesidad de disponer de maquinas específicas que generen los empaquetados para cada Sistema operativo.

A continuación mostramos unas imágenes de nuestra herramienta de integración continua desde la que podemos generar y publicar los instaladores de sus distintos sabores.



Para este proyecto también hemos hecho que los instaladores registren los protocolos necesarios para que la firma por protocolo funcione. En este caso para windows se usa el registro de windows, en linux se usa xdg[7] y en MacOSX se usa el Info.plist[8] de la app

[0] https://en.wikipedia.org/wiki/Apple_Disk_Image
[1] http://izpack.org/
[2] http://izpack.org/documentation/izpack-utils.html
[3] https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable
[4] http://launch4j.sourceforge.net/
[5] http://informagen.com/JarBundler/
[6] http://www.debianadmin.com/genisoimage-creates-iso-9660-cd-rom-filesystem-images.html
[7] https://wiki.archlinux.org/index.php/Xdg-open
[8] https://en.wikipedia.org/wiki/Property_list#Mac_OS_X

00

Más entradas de blog

Añadir comentarios