GemRailsApp: Crear .gem

Para esto necesitamos agregar un par de lineas al Rakefile de nuestra aplicación (pueden descargar el archivo ya modificado haciendo click aquí).

Primero definimos la información que conforma al package:


# The path to the root directory of your application.
APP_ROOT = File.join(File.dirname(__FILE__), '.')

APP_NAME = File.open("#{APP_ROOT}/APPNAME") { |f| f.readline }
APP_VERSION = File.open("#{APP_ROOT}/VERSION") { |f| f.readline }

PKG_BUILD       = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
PKG_NAME        = APP_NAME.downcase
PKG_VERSION     = APP_VERSION + PKG_BUILD
PKG_FILE_NAME   = "#{PKG_NAME}-#{PKG_VERSION}" 
PKG_DESTINATION = ENV["RAILS_PKG_DESTINATION"] || "../#{PKG_NAME}" 
# End of gem modifications

Luego, agregamos los Specs que nos permiten crear nuestro gem y posteriormente la tarea de creación del gem.

Resolviendo pequeños detalles

Luego de aplicar las modificaciones y llamar por primera vez a rake package, la tarea doc es ejecutada primero.

En Win2k/XP, rake doc falla, como está notificado en Ticket #2018

Esto evita que el package se construya… rayos!

Para eludir este problema, se puede manualmente copiar la línea de comando mostrada para esa tarea, lo que creará la documentación de nuestra aplicación y podremos crear nuestro package exitosamente (el comando es el mostrado en el ticket #2018).

Listo, ahora disponemos de un archivo .gem en el directorio pkg/ de nuestra aplicación disponible para ser instalado mediante gem.

Luis Lavena Multimedia systems Septiembre 2005