PANT

PANT is a Perl extension for ANT/NANT like build environments.
Download

PANT Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Julian Onions
  • Publisher web site:
  • http://search.cpan.org/~jonions/PANT-0.17/PANT.pm

PANT Tags


PANT Description

PANT is a Perl extension for ANT/NANT like build environments. PANT is a Perl extension for ANT/NANT like build environments.SYNOPSIS perl buildall.pl -output buildlog use PANT; StartPant(); Phase(1, "Update"); Task(Command("cvs update"), "Fetch the latest code"); Phase(2, "Build"); Task(UpdateFileVersion("h/version.h", qr/(#defines*VERSIONs+)(d+)/=>q{"$1" . ($2+1)}, "Version file updated"); Task(Command("make all"), "Built distribution"); Phase(3, "Deploy"); Task(Command("make distribution"), "Distribution built"); if (NewerThan(sources=>, targets=>)) { CopyFiles("myexe", "/usr/bin"); } EndPant();ABSTRACTThis is a module to help construct automated build environments. The inspiration came from the ANT/NANT build environments which use XML to describe a make like syntax of dependencies. For various reasons none of these were suitable for my purposes, and I suspect that eventually you will end up writing something pretty similar to perl in XML to cater for all the things you want to do. Also a module named PANT was just too good a name to miss!This module draws on some of the ideas in ANT/NANT, and also in the Test::Mode module for ways to do things. This module is therefore a collection of tools to help automate processes, and provide a build log of what happened, so remote builds can be observed.The basic philosophy is that you can probably use make or visual studio or similar to do the heavy building. There is no real need to replicate that. However stuff like checking out of CVS/SVN repositories, updating version numbers, checking it back in, running test harnesses, and similar are things that make is not good at. XML is not a programming language, but you can describe a lot of what you want using it, which is what ANT/NANT basically do. However there is always something you want to do, which can't be described in the current description language. In these cases you can call out to an external routine to do things.However it seems much easier to provide a number of useful subroutines in a scripting language, which help you build things. Then if you need to do something slightly of piste, you have all the power right there.The other thing I want to know about is "did it work" and if it didn't, what went wrong? To this end plenty of logging is required so the build can be tracked. As the build is probably going to be remote, HTML seems the obvious choice to report in, so you can just look at it from a web server.Requirements:· Perl Requirements: · Perl


PANT Related Software