> > 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
