NAME

ShipIt::ProjectType - abstract base class for different types of projects

OVERVIEW

Different types of projects (Perl, C, ...) have different conventions and quirks which this abstract base class aims to hide.

SYNOPSIS

$pt = $state->pt;  # get a ShipIt::ProjectType instance

$ver = $pt->find_version;
$pt->update_version("1.53");
$pt->disttest;

METHODS

find_version

Returns current version of project.

update_version($new_ver)

Updates version number on disk with provided new version.

disttest

Make a dist, then untars that in a temp directory, and does a full build & test on the extracted archive. Returns true if everything succeeds, or dies on failure.

makedist

Runs "make dist" or equivalent, to build the resultant archive to give to users. Dies on failure, or returns the path (relative or absolute) to the dist file.