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

Changes for version 0.003002 - 2015-02-23

  • BACKWARDS INCOMPATIBILITIES
    • When running in parallel, each step's run() method is executed in a try/catch block. This should not affect your code unless you explicitly checked $^S inside the run() method.
  • BUG FIXES
    • When running in parallel, if the step dies, we now pass the error back to the parent process and do not execute any more steps. We also now explicitly handle steps calling exit() internally, as well as step processes exiting because of some sort of external signal. Previously a child step could die and the build would simply continue on.
    • Steps classes which consumed the Stepford::Role::Step::FileGenerator::Atomic role would throw an error if their run() method did not produce a pre-commit file, even if the final post-commit file _did_ exist. This should not be an error, as it's up to each step to decide whether it needs to regenerate the post-commit file.
  • ENHANCEMENTS
    • Added more logging around the checks for whether a step needs to be re-run based on last run time. This will make debugging unnecessary rebuilds much simpler.

Modules

A vaguely Rake/Make/Cake-like thing for Perl - create steps and let a runner run them
A Stepford exception object
The final step for all Stepford runs
The logger used by Step classes.
Represents a concrete plan for execution by a Stepford::Runner
Renamed to Stepford;:Runner
The basic role all step classes must implement
A role for steps that generate files
A role for steps that generate a file atomically
A role for steps with unserializable productions
Takes a set of steps and figures out what order to run them in
Contains data for a single run
A trait for attributes which are a step dependency
A trait for attributes which are a step production
Type library used in Stepford classes/roles
Internal type definitions for Stepford