NAME

Perl::Dist::WiX::Checkpoint - Checkpoint support for Perl::Dist::WiX

VERSION

This document describes Perl::Dist::WiX::Checkpoint version 1.101_001.

DESCRIPTION

This module provides the routines that Perl::Dist::WiX uses in order to support checkpointing.

SYNOPSIS

# This module is not to be used independently.
$dist = Perl::Dist::WiX->new(
	# ...
	checkpoint_before => 5
	checkpoint_after => [8, 9],
	checkpoint_stop => 9,
	# ...
);

INTERFACE

There are 2 portions to the interface to this module - the parameters to new() (documented in that module), and the object calls that Perl::Dist::WiX uses to coordinate checkpointing.

checkpoint_task

checkpoint_task executes a portion of creating an installer.

The first parameter is the name of the subroutine to be executed.

The second parameter is the task number that goes with that subroutine.

Returns true (technically, the object that called it), or throws an exception.

checkpoint_file

Returns the file that the Perl::Dist::WiX object is stored in.

checkpoint_self

Currently unimplemented, and throws an exception saying so.

checkpoint_save

Saves a checkpoint within the checkpoint subdirectory of Perl::Dist::WiX->temp_dir

checkpoint_save

Restores a checkpoint saved to the checkpoint subdirectory of Perl::Dist::WiX->temp_dir with "checkpoint_save".

DIAGNOSTICS

See Perl::Dist::WiX::Diagnostics for a list of exceptions that this module can throw.

BUGS AND LIMITATIONS (SUPPORT)

WARNING: The checkpointing facility in this module is NOT stable. It is currently implemented using Storable with the $Storable::Deparse variable set to 1 (localized, of course). This probably WILL change in the future, as when checkpoints are reloaded, hash entries are appearing that weren't intended to be there. I am also not sure that references that were weakened are weakened when reloaded.

Restored checkpoints currently crash with "Free in wrong pool" errors in global destruction - if an exception occurs, they're reported there instead.

Do NOT use this in production. Debugging a distribution using the facilities provided here is fine.

Bugs should be reported via:

1) The CPAN bug tracker at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-Dist-WiX if you have an account there.

2) Email to <bug-Perl-Dist-WiX@rt.cpan.org> if you do not.

For other issues, contact the topmost author.

AUTHORS

Curtis Jewell <csjewell@cpan.org>

Adam Kennedy <adamk@cpan.org>

SEE ALSO

Perl::Dist, Perl::Dist::WiX, http://ali.as/, http://csjewell.comyr.com/perl/

COPYRIGHT AND LICENSE

Copyright 2009 Curtis Jewell.

Copyright 2008 - 2009 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this distribution.