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

NAME

Perl::Dist::WiX::Toolchain - Compiles the initial toolchain for a Win32 perl distribution.

VERSION

This document describes Perl::Dist::WiX::Toolchain version 1.500001.

SYNOPSIS

  my $toolchain = Perl::Dist::WiX::Toolchain->new(
    perl_version => '5.012000',       # This is as could be returned from $].
        cpan         => URI::file('C:\\minicpan\'),
        bits         => 32,
  );
  
  $toolchain->delegate() or die $toolchain->get_error();
  
  my @dists;
  if (0 < $toolchain->dist_count()) {
        @dists = $toolchain->get_dists();
  }
  
  ...
  

DESCRIPTION

This module starts up a copy of the running perl (NOT the perl being built) in order to determine what modules are in the "initial toolchain" and need to be upgraded or installed immediately.

The "initial toolchain" is the modules that are required for CPAN, Module::Build, ExtUtils::MakeMaker, and CPANPLUS (for 5.10.x+ versions of Perl) to be able to install additional modules.

It does not include DBD::SQLite or the modules that are required in order for CPAN or CPANPLUS to use it.

It is a subclass of Process::Delegatable and of Process.

METHODS

new

This method creates a Perl::Dist::WiX::Toolchain object.

See Process/new for more information.

The possible parameters that this class defines are as follows:

perl_version

This required parameter defines the version of Perl that we are generating the toolchain for.

This is a string containing a number that is a version of perl in the format of $] ('5.010001' or '5.012000', for example).

cpan

This required parameter defines the CPAN mirror that we are querying.

It has to be a URL in the form of a string.

bits

This required parameter defines the 'bitness' of the Perl that we are generating the toolchain for.

Valid values are 32 or 64.

get_dists

  my @distribution_tarballs = $toolchain->get_dists();

Gets the distributions that need updated, as a list of 'PAUSEID/Foo-1.23.tar.gz' strings.

This routine will only return valid values once delegate has returned.

dist_count

  my $distribution_count = $toolchain->dist_count();

Gets a count of the number of distributions that need updated.

This routine will only return valid values once delegate has returned.

get_error

  $toolchain->get_error();

Retrieves any errors that are returned by Process::Delegatable.

delegate

  $toolchain->delegate() or die $toolchain->get_error();

Passes the responsibility for the generation of the initial toolchain to another perl process.

See Process::Delegatable/delegate for more information.

prepare

Loads the latest CPAN index, in preparation for the run method.

This is not meant to be called by the user, but is called by the delegate method.

run

Queries the CPAN index for what versions of the initial toolchain modules are available,

This is not meant to be called by the user, but is called by the delegate method.

SUPPORT

Bugs should be reported via the CPAN bug tracker at

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-Dist-WiX

For other issues, contact the author.

AUTHOR

Curtis Jewell <csjewell@cpan.org>

Adam Kennedy <adamk@cpan.org>

SEE ALSO

Perl::Dist::WiX, Module::CoreList, Process, Process::Delegatable

COPYRIGHT AND LICENSE

Copyright 2009 - 2010 Curtis Jewell.

Copyright 2007 - 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.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 83:

alternative text 'Process/new' contains non-escaped | or /

Around line 462:

alternative text 'Process::Delegatable/delegate' contains non-escaped | or /