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 )