detroit-rubyforge - utilize rubyforge services with detroit
The RubyForge plug-in for Detroit provides services tied to your
project's rubyforge.org account. Presently it only supports
website publishing and uploading packages. This plugin uses the
forge gem, not the more common
rubyforge gem, and
to upload website files.
NOTE: RubyForge is fairly passe since the rise of GitHub, so this plug-in is not being actively maintained any loger. If someone is a die-hard RubyForge supporter please considering adopting this project, as you are probably one of very few, if not the only one, who will be using it.
The following options can be used in Detroit assembly files for defining a RubyForge service.
unixname - The project's unixname.
groupid - The Project's group id number.
username - Your Rubyforge username, granting access to the project.
Default comes from
package - The package name. Deafult is taken from project metadata.
version - Version to release. Default is taken from project metadata.
notelog - File that holds the current release notes.
changelog - File that hold the current change log. If not provided then
the changelog will# taken from the bottom of the notelog split on a '---'
or '####' marker.
release-template - The release name, using an
%s for inserting the
version number, e.g.
private_release - Is this a private release? Default it
sitemap - List of directories and files to transfer.
If a single directory entry is given then the contents
of that directory will be transfered. Defaults to
site_delete - Should the site be published wholesale, removing
any other content present at the upload destination?
Note, this is the same as setting +site_rsync+ to '--del-after'.
site_rsync - Used to specify any additional rsync options.
When using thi plug-in, your RubyForge passwrd will be gathered from
RUBYFORGE_PASSWORD environment variable. If this is not present
then it will be prompted for on the command line.
If you keep your website in a project subdirectory called either
www, and failing those,
then the defaults settings are likely sufficiant. Just provide a
rubyforge: unixname: myapp
If the files to copy to the website are more entailed, use a mapping of
source to destination. For example, if we want to copy all the files in
site/ to gh-pages, but also all the files in
doc/ to a directory
doc we could use:
rubyforge: unixname: myapp sitemap: site: . doc: doc
However, this isn't usually necessary, since a soft link could be used instead.
$ ln -s doc site/doc
Soft-links will be transfered as if the real file present. So a more complex
sitemap is really only needed when more specific selections or complex
globs are needed.
For more information:
Copyright (c) 2010 Thomas Sawyer, Rubyworks
Detroit GitHub is distributable in accordance with the GPLv3 license.
detroit(1), forge(1), rubyforge(1)