ShipIt::State - holds state between steps
An instance of type ShipIt::State is passed to each ShipIt::Step's 'run' method.
Set the version of this release. (is done by ShipIt::Step::FindVersion, early in the process, but perhaps you want to write your own version-detecting/selecting step)
$ver = $state->version
Returns version of release, or dies if not yet set.
$pt = $state->pt;
Detects/instantiates this project's type (Perl vs autoconf, etc) and returns a newly-created or previously-cached ShipIt::ProjectType instance.
$vc = $state->vc;
Detects/instantiates the version control system in use (svn, svk, etc) and returns a newly-created or previously-cached ShipIt::VC instance.
Push a changelog file into the known list.
@files = $state->changelog_files;
Returns list of known changelog files.
$dry = $state->dry_run;
Accessor for "dry run" flag. If set, you shouldn't actually commit/tag/upload stuff... just test if everything would've succeeded.
$dry = $state->skip_tests;
Accessor for "skip tests" flag. If set, you should skip tests. Presumably user already ran shipit, tests passed, and then some later step failed, and they want to ship quickly, without running entire test suite again.
$state->set_distfile("foo.tar.gz"); $file = $state->distfile;
Setter/getter for where the final distfile is. Useful so steps that need to build the whole tree (say, in an early "make test" phase), can keep it around, and later steps (like "make dist") can access it, without recompiling everything again.