= furoshiki {}[https://travis-ci.org/shoes/furoshiki] {}[https://codeclimate.com/github/shoes/furoshiki]
風呂敷 (Furoshiki) is a simple way to package your Ruby applications for
distribution on Windows, Linux, and OSX. A 風呂敷 is "a type of traditional
Japanese wrapping cloth that were frequently used to transport clothes, gifts,
or other goods."
== ALPHA WARNING
This is all super alpha, and is subject to change at any time.
== Packaging Shoes apps
For the moment, we only really package Shoes apps. See ALPHA WARNING above ;)
path = 'path/to/your/shoes-app' # See Furoshiki::Shoes::Configuration
config = Furoshiki::Shoes::Configuration.load(path)
packager = Furoshiki::Shoes.new(:swt, :app, config)
packager.package
Or use the shoes4 command line interface:
bin/shoes -p swt:app path/to/your/shoes-app
Eventually, we will be able to package non-Shoes apps too.
== Inspiration
The inspiriation for 風呂敷 came from Shoes[http://shoesrb.com]. One of Shoes'
best features is packaging up scripts made with Shoes into their own
executables. You could take any little script and make a .app, .exe, or .run
file. However, this code was really complicated, and made Shoes hard to
maintain. It was often the source of people's problems when trying to build
Shoes of their own. So, while working on Shoes 4, I decided to see if anyone
else was doing anything similar. I came across the .app for
libgosu[http://code.google.com/p/gosu/wiki/RubyPackagingOnOsx], which was doing
a similar thing. After emailing Julian, I decided that if this was useful for
Shoes, and useful for libgosu, it'd probably be useful for other projects, too.
So I've set out to figure out the Shoes packager, play with the libgosu
versions, and come up with an easy way for you to bundle and distribute GUI
programs written in Ruby.
== Helping out with 風呂敷
It's easy! Just clone it down and do the usual bundler thing:
$ git clone https://github.com/shoes/furoshiki.git
$ cd furoshiki
$ gem install bundler
$ bundle
Easy-peasy.
=== Note on Patches/Pull Requests
* Fork the project.
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a
future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.
== Copyright
Copyright (c) 2010 Steve Klabnik. See LICENSE for details.