<< Work in progress >>
IronRubyAppPackager is a solution that allows you to ‘compile’1 your application and its libraries into a single standalone .exe file that embeds all of the application source, library and GEM files in embedded resources (compressed) within the executable.
The executable runs using IronRuby.
IronRubyAppPackager is supplied as a simple Ruby application. However it can be ‘dogfooded’. i.e. It can be run on itself and generate the executable
IronRubyAppPackager.exe, simplifying deployment. See here.
Example programs are included in this repository for guidance. In particular there is a very simple [[DRB test]] and a [[Sample Sinatra App]].
- .Net version 2 needs to be installed on any PC that runs the executable (at the moment)
- IronRuby (or you can just copy the run-time DLLs to the folder containing the executable)
How do I use it?
Given an existing Ruby application (that runs with IronRuby), just run
ir -rvendorize app.rb.
This will copy any
autoload files into the folder
You can run the program several times with different options if the required files depend on the options.
Or just run your tests…
Then run IRPackager which will generate a C# project that embeds your source files and
_vendor_ files. It will build the project and deliver you a nice shiny .exe file.
- Depends on Serfs and IREmbeddedApp, which don’t support all File/IO operations on embedded resources yet. But there is enough to run many apps, and work is continuing. Feedback would be welcomed about areas that are not yet implemented.
Not what you are looking for?
Copyright © 2010 David Lake (rifraf → rifraf.net)
Released under the MIT license. See LICENSE file for details.
1 As always, phrases that are ‘quoted’ should be interpreted as having the prefix ‘not’2. IronRubyAppPackager does not compile Ruby. It just looks like it’s compiled, and behaves like it’s compiled… Quack!
2 Recursively of course