Perl-Dist-WiX
view release on metacpan or search on metacpan
lib/Perl/Dist/WiX/Util/Machine.pm view on Meta::CPAN
);
This method creates a new object that generates multiple distributions,
using the parameters below.
=head3 class (required)
This required parameter specifies the class that this object uses to
create distributions.
It must be a subclass of L<Perl::Dist::WiX|Perl::Dist::WiX>.
=cut
has class => (
is => 'ro',
isa => subtype(
'Str' => where {
$_ ||= q{};
_CLASSISA( $_, 'Perl::Dist::WiX' );
},
message {
'Not a subclass of Perl::Dist::WiX.';
},
),
required => 1,
reader => '_get_class',
);
=head3 common
This required parameter specifies the parameters that are common to all
the distributions that will be created, as an array or hash reference.
For the parameters that you can put here, see the documentation for the
class that is specified in the C<'class'> parameter and its subclasses.
=cut
has common => (
traits => ['Array'],
is => 'bare',
isa => ArrayRef,
required => 1,
handles => { '_get_common' => 'elements', },
);
=head3 output (optional)
This is the directory where all the output files will be copied to.
If none is specified, it defaults to what L<File::HomeDir|File::HomeDir>
thinks is the desktop.
=cut
has output => (
is => 'ro',
isa => Str,
default => sub { return File::HomeDir->my_desktop(); },
reader => '_get_output',
);
=head3 skip (optional)
This is a reference to a list of distributions to skip building, in numerical order.
Note that the numerical order the distributions is dependent on which order
you put the dimensions in - the last dimension is changed first. For
example, if there are 3 dimensions, with the first dimension having 3
options and the other 2 dimensions having 2 options, the numbering is
as follows:
1: 1, 1, 1 2: 1, 1, 2 3: 1, 2, 1 4: 1, 2, 2
5: 2, 1, 1 ...
9: 3, 1, 1 ...
If you wanted to skip the two distributions where the first dimension was
going to use its second option and the last dimension was going to use its
first option, you would pass [ 5, 7 ] to this option.
=cut
has skip => (
traits => ['Array'],
is => 'bare',
isa => ArrayRef,
default => sub { return [0]; },
handles => { '_get_skip_values' => 'elements', },
);
=head3 trace (optional)
This is the trace level for all objects.
If none is specified, it defaults to 1.
=cut
has trace => (
is => 'ro',
isa => Int,
default => 1,
reader => '_get_trace',
);
has _dimensions => (
traits => ['Array'],
is => 'bare',
isa => ArrayRef,
( run in 0.641 second using v1.01-cache-2.11-cpan-d7f47b0818f )