Re: The Well Tempered Ruby Application

"Sy Ali" <[email protected]> Fri, 15 Sep 2006 18:41:14 -0500
Newsgroups gmane.comp.lang.ruby.documentation
Message-ID <[email protected]>
On 9/13/06, Tim Becker <[email protected]> wrote:
> Some of the issues that I think should be addressed in such a sample
> application.

Adding a packaging script would be very helpful.  Below is what I
whipped up for muby.. but it's imperfect.. and it's not written in
Ruby.  I'm sure someone somewhere has something really nice to help
with releases.

I know that Austin Ziegler has a nice packaging and announcement
script done, but I haven't looked at it.


# TODO: learn the version number, and automatically name the archive.
distribution_file=$(basename $(pwd))-.tar.gz

# Nuke the temporary files:
find -L ./ -name '*~' -exec rm {} \;
find -L ./ -name '.*~' -exec rm {} \;
rm -f $distribution_file
# Delete zero-length files:
# NOTE: This will delete symbolic links!
find -L ./ -name '*' -empty -exec rm {} \;

# All files, even dotfiles, but not .svn or anything in a .svn directory.
# Ignore .fuse_hidden files created from fuse filesystems.  This is a sign
# of a temporary file which has been locked by fuse and shouldn't be used.
# Unfortunately, I cannot have this script's exact name in any
sub-directory either.
tar \
--exclude "`basename $0`" \
--exclude ".svn" \
--exclude ".fuse_hidden*" \
-czvf $distribution_file * `ls -A|grep "^\."`


# BUG: This doesn't put the files in a directory.. so when extracting
it extracts to the current
 directory!