A rake task generator to help with building/packaging/deploying Ruby applications (⚠️ unmaintained)
A rake task generator to help with building/packaging/deploying Ruby applications (⚠️ unmaintained)
Releasy automates the release of Ruby applications, such as games or GUI applications, for non-Ruby users. By configuring a {Releasy::Project} in your application's Rakefile, Releasy can generate Rake tasks for use when there is a need to build, package (archive) and/or deploy a new version of the application.
$ gem install releasy
require 'rubygems'
require 'bundler/setup' # Releasy requires require that your application uses bundler.
require 'releasy'
#>>
Note: The windows:folder, windows:installer and windows:standalone will be created only if running on Windows.
The windows:wrapped task will not be created if running on Windows.
The output from "rake -T" on Windows would be:
rake build # Build My Application 1.3.2
rake build:osx # Build all osx
rake build:osx:app # Build OS X app
rake build:source # Build source
rake build:windows # Build all windows
rake build:windows:folder # Build windows folder
rake build:windows:installer # Build windows installer
rake deploy # Deploy My Application 1.3.2
rake deploy:osx:app:tar_gz:local # local <= osx app .tar.gz
rake deploy:source:7z:local # local <= source .7z
rake deploy:windows:folder:exe:local # local <= windows folder .exe
rake deploy:windows:installer:zip:local # local <= windows installer .zip
rake package # Package My Application 1.3.2
rake package:osx:app:tar_gz # Package osx app .tar.gz
rake package:source:7z # Package source .7z
rake package:windows:folder:exe # Package windows folder .exe
rake package:windows:installer:zip # Package windows installer .zip
A variety of unlisted tasks are also created, that allow for more control, such as deploy:local (Deploy all packages locally),
deploy:windows:folder (deploy all windows folder packages all destinations) or package:windows (Package all windows builds).
The project can build one or more release folders:
:source:osx_app:windows_folder:windows_wrapped:windows_installer:windows_standaloneSee {Releasy::Project#add_build}
Optionally, release folders can be packaged into an archive using one or more of:
:"7z":dmghdiutil to be installed, so only available on OS X).hdiutils command required).:exe:tar_bz2:tar_gz:zipSee {Releasy::Mixins::HasPackagers#add_package}
Optionally, packaged releases can be deployed using one or more of:
:local:rsyncSee {Releasy::Project#add_deploy}
Releasy also provides some supplementary commands:
$ releasy install-sfx [options]
Installs a copy of the Windows self-extractor in the local 7z installation, to allow use of the :exe archive format (it comes with the Windows version of 7z, so only need to use this command on OS X/Linux).
The 7z command must be installed on your system for Releasy to work:
OS X homebrew:
$ brew install p7zip
Ubuntu/Debian:
$ sudo apt-get install p7zip-full
Windows
32-bit
64-bit
Other OS
:windows_installer release (Windows only)InnoSetup is used to create an installer for the application.
:windows_wrapped release (OS X/Linux)RubyInstaller 7-ZIP archives for Ruby 1.8.7, 1.9.2 or 1.9.3. Used as a wrapper for a Windows release built on non-Windows systems.
:osx_app application bundle release (any platform)libgosu app wrapper. Latest version of the OS X-compatible wrapper is "gosu-mac-wrapper-0.7.44.tar.gz" which uses Ruby 1.9.2 and includes some binary gems: Gosu, Chipmunk and TexPlay.
Warning: "gosu-mac-0.7.44.tar.gz" is NOT the complete OS X app wrapper, but rather just the Gosu gem pre-compiled for OS X!
Ocra: Builds standalone Windows executable or a Windows installer. Releasy uses Ocra, but greatly extends its capabilities.
Crate: Cross-platform executable builder.
rubyscript2exe: Builds a standalone Windows executable.
No open issues yet, or sync has not completed.