NAME
Perl::Dist::WiX::Asset::DistFile - "Perl Distribution" asset for a Win32 Perl
SYNOPSIS
# TODO: Update
my $distribution = Perl::Dist::WiX::Asset::DistFile->new(
name => 'MSERGEANT/DBD-SQLite-1.14.tar.gz',
force => 1,
);
DESCRIPTION
Perl::Dist::WiX supports two methods for adding Perl modules to the installation. The main method is to install it via the CPAN shell.
The second is to download, make, test and install the Perl distribution package independently, avoiding the use of the CPAN client. Unlike the CPAN installation method, installing the distribution directly does not
allow the installation of dependencies, or the ability to discover and install the most recent release of the module.
This secondary method is primarily used to deal with cases where the CPAN shell either fails or does not yet exist. Installation of the Perl toolchain to get a working CPAN client is done exclusively using the direct method, as well as the installation of a few special case modules such as ones where the newest release is broken, but an older or a development release is known to be good.
Perl::Dist::WiX::Asset::DistFile is a data class that provides encapsulation and error checking for a "Perl Distribution" to be installed in a Perl::Dist::WiX-based Perl distribution using this secondary method that comes from a file on disk (possibly in a share directory.)
It is normally created on the fly by the Perl::Dist::WiX install_distribution_from_file
method (and other things that call it).
The specification of the location to retrieve the package is done via the standard mechanism implemented in Perl::Dist::WiX::Role::Asset.
METHODS
This class is a Perl::Dist::WiX::Role::Asset and shares its API.
new
The new
constructor takes a series of parameters, validates then and returns a new Perl::Dist::WiX::Asset::DistFile object.
It inherits all the params described in the Perl::Dist::WiX::Role::Asset new
method documentation, and adds some additional params.
- name
-
The required
name
param is the name of the package for the purposes of identification.This should match the name of the Perl distribution without any version numbers. For example, "File-Spec" or "libwww-perl".
Alternatively, the
name
param can be a CPAN path to the distribution such as shown in the synopsis.In this case, the url to fetch from will be derived from the name.
- force
-
Unlike in the CPAN client installation, in which all modules MUST pass their tests to be added, the secondary method allows for cases where it is known that the tests can be safely "forced".
The optional boolean
force
param allows you to specify that the tests should be skipped and the module installed without validating it.It defaults to what the
force()
method on the object passed as theparent
parameter returns. - automated_testing
-
Many modules contain additional long-running tests, tests that require additional dependencies, or have differing behaviour when installing in a non-user automated environment.
The optional
automated_testing
param lets you specify that the module should be installed with the AUTOMATED_TESTING environment variable set to true, to make the distribution behave properly in an automated environment (in cases where it doesn't otherwise). - release_testing
-
Some modules contain release-time only tests, that require even heavier additional dependencies compared to even the
automated_testing
tests.The optional
release_testing
param lets you specify that the module tests should be run with the additionalRELEASE_TESTING
environment flag set.By default,
release_testing
is set to false to squelch any accidental execution of release tests when Perl::Dist::WiX itself is being tested underRELEASE_TESTING
. - makefilepl_param
-
Some distributions illegally require you to pass additional non-standard parameters when you invoke "perl Makefile.PL".
The optional
makefilepl_param
param should be a reference to an ARRAY where each element contains the argument to pass to the Makefile.PL. - buildpl_param
-
Some distributions require you to pass additional non-standard parameters when you invoke "perl Build.PL".
The optional
buildpl_param
param should be a reference to an ARRAY where each element contains the argument to pass to the Build.PL.
The new
method returns a Perl::Dist::WiX::Asset::Distribution object, or throws an exception on error.
install
The install method installs the distribution described by the Perl::Dist::WiX::Asset::Distribution object and returns a list of files that were installed as a File::List::Object object.
get_name
This method returns the name of the module being installed, in order to use it in filenames.
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.
AUTHORS
Curtis Jewell <csjewell@cpan.org>
Adam Kennedy <adamk@cpan.org>
SEE ALSO
Perl::Dist::WiX, Perl::Dist::WiX::Role::Asset
COPYRIGHT
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 module.