[ANN] Rant 0.4.0

Discussion in 'Ruby' started by Stefan Lang, Jul 10, 2005.

  1. Stefan Lang

    Stefan Lang Guest

    Rant is a flexible build tool written entirely in Ruby,
    similar to Rake.

    =3D=3D What's new in this release?

    * Creating zip and gzipped tar archives on all supported platforms
    without installing extra software. Seamless integration with
    rant-import.
    * The standard RubyPackage tasks create zip and gzipped tar archives
    (and optional gem packages) on all platforms, including Windows,
    now.
    * rant-import recognizes the new directives +uncomment+ and +remove+.

    I'd appreciate suggestions about new features, names, etc.

    =3D=3D Installing Rant

    You can install Rant as a RubyGem:
    =C2=A0 =C2=A0 % gem install --remote rant

    or download the package from RubyForge(http://rubyforge.org/frs/?group_id=
    =3D615)
    and install with install.rb:
    =C2=A0 =C2=A0 % ruby install.rb

    =3D=3D More about Rant

    The equivalent to a Makefile for make is the Rantfile. An
    Rantfile is actually a valid Ruby script that is read by the
    rant command.

    Rant currently features:
    * Defining custom tasks
    * Automated packaging, testing and RDoc generation for Ruby
    =C2=A0 applications and libraries.
    * Primitive support for compiling C# sources portably with csc, cscc
    =C2=A0 and mcs.
    * Dependency checking for C/C++ source files.
    * Creating gzipped tar and zip archives =E2=80=94 without installing
    additional software.
    * Multiple buildfiles (e.g. one per directory).
    * The rant-import command creates a monolithic rant script,
    =C2=A0 so you don't depend on an rant installation anymore.

    =2E.. and more, visit http://make.ruby-co.de

    =3D=3D Examples

    Creating a gzipped tar archive, save the following lines in a file
    called Rantfile:
    =20
    import "package/tgz"
    gen Package::Tgz, "foo", :files =3D> sys["{bin,lib,test}/**/*"]

    Invoke rant:

    % rant foo.tgz

    Use rant-import to get a monolithic make script (depends only on a
    standard ruby installation):

    % rant-import --auto make.rb

    Distribute this script (make.rb) with your software and your users
    don't depend on rant. They can simply use:

    % ruby make.rb foo.tgz

    =3D=3D Credits

    Rant comes with parts of Mauricio Fernandez and Austin Ziegler's
    archive-tar-minitar to create (gzipped) tar archives on platforms
    where no tar command is available.

    Rant comes with parts of Thomas Sondergaard's rubyzip to create zip
    archives on platforms where no zip command is available.

    =3D=3D Resources

    Current docs:: http://make.ruby-co.de
    Rubyforge page:: http://rubyforge.org/projects/make/

    =2D-=20
    Stefan
    Stefan Lang, Jul 10, 2005
    #1
    1. Advertising

  2. On 7/10/05, Stefan Lang <> wrote:
    > Rant comes with parts of Mauricio Fernandez and Austin Ziegler's
    > archive-tar-minitar to create (gzipped) tar archives on platforms
    > where no tar command is available.


    I'm curious as to why you chose to import parts of the code rather
    than making it a dependency?

    FWIW, I never use tar anymore in generating my distributions, as the
    only major features that ardchive-tar-minitar is missing is symlink
    support (it's missing more than that, but the symlink support is the
    only one that's really important for a distribution purpose).

    -austin
    --=20
    Austin Ziegler *
    * Alternate:
    Austin Ziegler, Jul 11, 2005
    #2
    1. Advertising

  3. Stefan Lang

    Stefan Lang Guest

    On Monday 11 July 2005 18:32, Austin Ziegler wrote:
    > On 7/10/05, Stefan Lang <> wrote:
    > > Rant comes with parts of Mauricio Fernandez and Austin Ziegler's
    > > archive-tar-minitar to create (gzipped) tar archives on platforms
    > > where no tar command is available.

    >
    > I'm curious as to why you chose to import parts of the code rather
    > than making it a dependency?


    Actually, I thought long about this before I decided to import
    the code. There are mainly two reasons:

    First, rant-import allows you to create a build script, tailored
    to the needs of your project, that can be used instead of an
    rant installation and depends only on a standard ruby installation:
    % rant-import --auto make.rb
    Now, make.rb contains exactly the code needed to build/install
    the software package. That would have been harder to implement
    if minitar were a dependency.

    The second reason is that probably many users don't use the
    packaging/archiving features or have the tar/zip commands anyway.
    => It wouldn't make sense to force them to install minitar and rubyzip
    and so all packaging code would have to check if there is any
    chance to create a tar/zip archive.

    I've made to many bad experiences with package managers and building
    and installing software in the past. I want to keep building with
    Rant simple and hassle free.

    > FWIW, I never use tar anymore in generating my distributions, as the
    > only major features that ardchive-tar-minitar is missing is symlink
    > support (it's missing more than that, but the symlink support is the
    > only one that's really important for a distribution purpose).


    Yes, symlink support would be great. You don't intend to implement
    it for archive-tar-minitar? Would it be much work? I'd do it if
    only I knew more about the format of tar archives.

    --
    Stefan
    Stefan Lang, Jul 11, 2005
    #3
  4. On 7/11/05, Stefan Lang <> wrote:
    > On Monday 11 July 2005 18:32, Austin Ziegler wrote:
    >> On 7/10/05, Stefan Lang <> wrote:
    >>> Rant comes with parts of Mauricio Fernandez and Austin Ziegler's
    >>> archive-tar-minitar to create (gzipped) tar archives on
    >>> platforms where no tar command is available.

    >> I'm curious as to why you chose to import parts of the code
    >> rather than making it a dependency?

    > Actually, I thought long about this before I decided to import the
    > code. There are mainly two reasons:


    Ok. It just makes a bit more work for you ;) There's nothing, at
    least in Minitar's licence, that prevents this.

    >> FWIW, I never use tar anymore in generating my distributions, as
    >> the only major features that ardchive-tar-minitar is missing is
    >> symlink support (it's missing more than that, but the symlink
    >> support is the only one that's really important for a
    >> distribution purpose).

    > Yes, symlink support would be great. You don't intend to implement
    > it for archive-tar-minitar? Would it be much work? I'd do it if
    > only I knew more about the format of tar archives.


    Theoretically, it shouldn't take much work at all. I'd have to dive
    back into the code, but I'm a bit busy with work, articles, and
    preparing for RubyConf to do so right now.

    The hardest part about symlink support is not adding, but unpacking,
    because the behaviour on Windows must be to make an actual COPY of
    the file in question, since there are no file symlinks on Windows.
    (And I don't think that Ruby supports junctions for directory
    hardlinks.)

    -austin
    --=20
    Austin Ziegler *
    * Alternate:
    Austin Ziegler, Jul 11, 2005
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Stefan Lang

    [ANN] First release of Rant

    Stefan Lang, Mar 26, 2005, in forum: Ruby
    Replies:
    3
    Views:
    113
    Florian Gross
    Mar 26, 2005
  2. Stefan Lang

    [ANN] Rant 0.3.2

    Stefan Lang, Apr 3, 2005, in forum: Ruby
    Replies:
    28
    Views:
    305
    Stefan Lang
    Apr 8, 2005
  3. Stefan Lang

    [ANN] Rant 0.3.4

    Stefan Lang, Apr 17, 2005, in forum: Ruby
    Replies:
    0
    Views:
    91
    Stefan Lang
    Apr 17, 2005
  4. Stefan Lang

    [ANN] Rant 0.3.6

    Stefan Lang, May 2, 2005, in forum: Ruby
    Replies:
    0
    Views:
    110
    Stefan Lang
    May 2, 2005
  5. Stefan Lang

    [ANN] Rant 0.3.8

    Stefan Lang, May 15, 2005, in forum: Ruby
    Replies:
    10
    Views:
    181
    Stefan Lang
    May 15, 2005
Loading...

Share This Page