archivos acumulación de C en mi rubygem
Pregunta
Estoy tratando de empaquetar mi solicitud de rubí como rubygem (usando joyero y Rake). Tengo alguna fuente C, que necesito para construir en la máquina de destino, donde la piedra se va a instalar y luego colocar la salida en el directorio bin de la gema para que mi código de rubí puede utilizarlo.
¿Hay alguna gancho por el cual puedo ejecutar comandos durante la instalación joya?
Un fragmento de mi Rakefile se parece a esto:
task :install do
puts "Install"
`touch /tmp/install`
end
task :build do
puts "Build"
`touch /tmp/build`
end
Cuando ejecuto rake build
emite Build
y cuando ejecuto rake install
la salida es Build
seguido por Install
. El problema viene cuando lo haga gem install
entonces la tarea install
no está siendo llamado.
Solución
Es necesario extensiones gemspec:
http://docs.rubygems.org/read/chapter/20#extensions
Básicamente se puede ejecutar cualquier código Ruby te gusta cuando se instala la gema.