The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ShipIt::Conf -- holds/parses config info for a project

SYNOPSIS

 # done for you:
 my $conf = ShipIt::Conf->parse(CONFFILE);

 # fetch keys out of it in your Step's init method
 package ShipIt::Step::Custom;
 use base 'ShipIt::Step';
 sub init {
     my ($self, $conf) = @_;
     ....
     $self->{foo} = $conf->value("foo_key");
     ....
 }

CLASS METHODS

parse

  $conf = ShipIt::Conf->parse(".shipit");

Returns a ShipIt::Conf object from a file. Dies on parse failure.

write_template

    ShipIt::Conf->write_template($file);

Writes out a dummy config file to the provided $file.

INSTANCE METHODS

value

  $val = $conf->value($key);

Fetch a config value. (also marks it as a known key, so any unknown keys in a .shipit config file cause a configuration error)

die_if_unknown_keys

Die if any key exists which has never been asked for.

steps

Returns array of ShipIt::Step instances, based on the value of steps in your .shipit config file. For instance, in your .shipit file:

  steps = FindVersion, ChangeVersion, Commit, Tag, MakeDist

The makes ShipIt::Step::FindVersion loaded & instantiated (with 'new', which calls by default 'init'), followed by ChangeVersion, etc.