.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "CPANPLUS::Dist 3" .TH CPANPLUS::Dist 3 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME CPANPLUS::Dist \- base class for plugins .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 3 \& my $dist = CPANPLUS::Dist::YOUR_DIST_TYPE_HERE\->new( \& module => $modobj, \& ); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" \&\f(CW\*(C`CPANPLUS::Dist\*(C'\fR is a base class for \f(CW\*(C`CPANPLUS::Dist::MM\*(C'\fR and \f(CW\*(C`CPANPLUS::Dist::Build\*(C'\fR. Developers of other \f(CW\*(C`CPANPLUS::Dist::*\*(C'\fR plugins should look at \f(CW\*(C`CPANPLUS::Dist::Base\*(C'\fR. .SH ACCESSORS .IX Header "ACCESSORS" .IP \fBparent()\fR 4 .IX Item "parent()" Returns the \f(CW\*(C`CPANPLUS::Module\*(C'\fR object that parented this object. .IP \fBstatus()\fR 4 .IX Item "status()" Returns the \f(CW\*(C`Object::Accessor\*(C'\fR object that keeps the status for this module. .SH "STATUS ACCESSORS" .IX Header "STATUS ACCESSORS" All accessors can be accessed as follows: \f(CW$deb\fR\->status\->ACCESSOR .IP \fBcreated()\fR 4 .IX Item "created()" Boolean indicating whether the dist was created successfully. Explicitly set to \f(CW0\fR when failed, so a value of \f(CW\*(C`undef\*(C'\fR may be interpreted as \f(CW\*(C`not yet attempted\*(C'\fR. .IP \fBinstalled()\fR 4 .IX Item "installed()" Boolean indicating whether the dist was installed successfully. Explicitly set to \f(CW0\fR when failed, so a value of \f(CW\*(C`undef\*(C'\fR may be interpreted as \f(CW\*(C`not yet attempted\*(C'\fR. .IP \fBuninstalled()\fR 4 .IX Item "uninstalled()" Boolean indicating whether the dist was uninstalled successfully. Explicitly set to \f(CW0\fR when failed, so a value of \f(CW\*(C`undef\*(C'\fR may be interpreted as \f(CW\*(C`not yet attempted\*(C'\fR. .IP \fBdist()\fR 4 .IX Item "dist()" The location of the final distribution. This may be a file or directory, depending on how your distribution plug in of choice works. This will be set upon a successful create. .ie n .SS "$dist = CPANPLUS::Dist::YOUR_DIST_TYPE_HERE\->new( module => MODOBJ );" .el .SS "\f(CW$dist\fP = CPANPLUS::Dist::YOUR_DIST_TYPE_HERE\->new( module => MODOBJ );" .IX Subsection "$dist = CPANPLUS::Dist::YOUR_DIST_TYPE_HERE->new( module => MODOBJ );" Create a new \f(CW\*(C`CPANPLUS::Dist::YOUR_DIST_TYPE_HERE\*(C'\fR object based on the provided \f(CW\*(C`MODOBJ\*(C'\fR. .PP *** DEPRECATED *** The optional argument \f(CW\*(C`format\*(C'\fR is used to indicate what type of dist you would like to create (like \f(CW\*(C`CPANPLUS::Dist::MM\*(C'\fR or \&\f(CW\*(C`CPANPLUS::Dist::Build\*(C'\fR and so on ). .PP \&\f(CW\*(C`CPANPLUS::Dist\->new\*(C'\fR is exclusively meant as a method to be inherited by \f(CW\*(C`CPANPLUS::Dist::MM|Build\*(C'\fR. .PP Returns a \f(CW\*(C`CPANPLUS::Dist::YOUR_DIST_TYPE_HERE\*(C'\fR object on success and false on failure. .ie n .SS "@dists = CPANPLUS::Dist\->dist_types;" .el .SS "\f(CW@dists\fP = CPANPLUS::Dist\->dist_types;" .IX Subsection "@dists = CPANPLUS::Dist->dist_types;" Returns a list of the CPANPLUS::Dist::* classes available .ie n .SS "$bool = CPANPLUS::Dist\->rescan_dist_types;" .el .SS "\f(CW$bool\fP = CPANPLUS::Dist\->rescan_dist_types;" .IX Subsection "$bool = CPANPLUS::Dist->rescan_dist_types;" Rescans \f(CW@INC\fR for available dist types. Useful if you've installed new \&\f(CW\*(C`CPANPLUS::Dist::*\*(C'\fR classes and want to make them available to the current process. .ie n .SS "$bool = CPANPLUS::Dist\->has_dist_type( $type )" .el .SS "\f(CW$bool\fP = CPANPLUS::Dist\->has_dist_type( \f(CW$type\fP )" .IX Subsection "$bool = CPANPLUS::Dist->has_dist_type( $type )" Returns true if distribution type \f(CW$type\fR is loaded/supported. .ie n .SS "$bool = $dist\->prereq_satisfied( modobj => $modobj, version => $version_spec )" .el .SS "\f(CW$bool\fP = \f(CW$dist\fP\->prereq_satisfied( modobj => \f(CW$modobj\fP, version => \f(CW$version_spec\fP )" .IX Subsection "$bool = $dist->prereq_satisfied( modobj => $modobj, version => $version_spec )" Returns true if this prereq is satisfied. Returns false if it's not. Also issues an error if it seems "unsatisfiable," i.e. if it can't be found on CPAN or the latest CPAN version doesn't satisfy it. .ie n .SS "$configure_requires = $dist\->find_configure_requires( [file => /path/to/META.yml] )" .el .SS "\f(CW$configure_requires\fP = \f(CW$dist\fP\->find_configure_requires( [file => /path/to/META.yml] )" .IX Subsection "$configure_requires = $dist->find_configure_requires( [file => /path/to/META.yml] )" Reads the configure_requires for this distribution from the META.yml or META.json file in the root directory and returns a hashref with module names and versions required. .ie n .SS "$bool = $dist\->_resolve_prereqs( ... )" .el .SS "\f(CW$bool\fP = \f(CW$dist\fP\->_resolve_prereqs( ... )" .IX Subsection "$bool = $dist->_resolve_prereqs( ... )" Makes sure prerequisites are resolved .PP .Vb 2 \& format The dist class to use to make the prereqs \& (ie. CPANPLUS::Dist::MM) \& \& prereqs Hash of the prerequisite modules and their versions \& \& target What to do with the prereqs. \& create => Just build them \& install => Install them \& ignore => Ignore them \& \& prereq_build If true, always build the prereqs even if already \& resolved \& \& verbose Be verbose \& \& force Force the prereq to be built, even if already resolved .Ve