>
> Mientras le agregaba features a una tool me encontre con que tenia que
> agregar a mi .gemspec una gem "win32ole". La tool tambien funciona en
> Linux/osx  (primordialmente), entonces agregarle la dependencia de win32ole
> todo el tiempo no tiene sentido.  Me preguntaba si alguien sabe como hacerlo
> sin tener que usar *rake.  * *
> *
> *Busque y busque pero no encontre nada en la documentacion.  Se me ocurrio
> hacer un require 'platform' y en el   add_dependency lo filtre con un if
> Platform::IMPL == :mswin , pero no creo sea "the ruby way" ajajaj *
>

Hola Matias,
Hace tiempo que se está pidiendo eso[1], pero hasta ahora creo que la
recomendación estándar sigue siendo: hacer 2 gems, uno para Windows cuyo
gemspec tiene la dependencia, y otro para las otras plataformas que no la
tiene. Mucho no me gusta pero es una posibilidad.

Acá[2] hay un artículo que explica como podés emular un "post install hook;"
quizás así podés ejecutar código que determina la plataforma e instala
win32ole si está corriendo en Windows. Pero como la otra recomendación, es
un hack y no sé si siempre va a funcionar con todas la versiones de
Rubygems.

Una tercera opción sería simplemente mostrar un mensaje después de la
instalación, diciendo a los usuarios que tienen que instalar win32ole si
están usando Windows. No es lo más fácil para ellos, pero quizás es lo más
práctico para vos.

Ninguna de las tres opciones me satisfacen
pero creo que es lo que te queda. :-(

Saludos,

Norman

[1]
http://rubyforge.org/pipermail/rubyinstaller-devel/2008-April/000312.html
[2] http://blog.costan.us/2008/11/post-install-post-update-scripts-for.html
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a