logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Module::Starter::BuilderSet - determine builder metadata

Author

       C.J. Adams-Collier, "<cjac@colliertech.org>"

Bugs

       Please report any bugs or feature requests to the bugtracker for this project on GitHub at:
       <https://github.com/xsawyerx/module-starter/issues>. I will be notified, and then you'll automatically be
       notified of progress on your bug as I make changes.

Class Methods

"new()"
       This method initializes and returns an object representing the set of Builders supported by
       Module::Starter

   "supported_builders()"
       This method returns a list of builders supported by Module::Starter

   "file_for_builder($builder)"
       This method returns the name of the file generated by Module::Starter that will be used to build the
       generated module

   "method_for_builder($builder)"
       This method returns the name of the method in the "Module::Starter::Simple" package that is called to
       create the file returned by "file_for_builder($builder)"

   "instructions_for_builder($builder)"
       This method returns a list of commands that, when run from the command line (or with "system()"), will
       cause the generated module to be built, tested and installed.

   "deps_for_builder($builder)"
       This method returns a list of dependencies in the following format: "( { command => "make",
           aliases => [ 'make', 'gmake' ],
          },
         { command => "another_command",
           aliases => [ 'alias0', 'alias1', '...' ],
          }, )"

   "manifest_method($builder)"
       This method returns the command to run to create the manifest according to the builder asked.

   "check_compatibility(@builders)"
       This method accepts a list of builders and filters out the ones that are unsupported or mutually
       exclusive, returning the builders that passed the filter.  If none pass the filter, the default builder
       is returned.

   "default_builder()"
       This method returns the module name of the default builder.

Description

       Module::Starter::BuilderSet is a collection of utility methods used to provide metadata about builders
       supported by Module::Starter.

Name

       Module::Starter::BuilderSet - determine builder metadata

Synopsis

           use Module::Starter::BuilderSet;

           my $builder_set = Module::Starter::BuilderSet->new;
           my @supported_builders = $builder_set->supported_builders();
           my $default_builder = $builder_set->default_builder();
           my $output_file = $builder_set->file_for_builder($default_builder);

           my $create_method = $builder_set->method_for_builder($default_builder);
           Module::Starter::Simple->$create_method($default_builder); # eeew.

           my @build_commands = $builder_set->instructions_for_builder($default_builder);
           my @builder_dependencies = $builder_set->deps_for_builder($default_builder);
           my @compatible_builders = $builder_set->check_compatibility(@builder_list);

           my $ms_simple    = Module::Starter::Simple->new();
           my $build_method = $builder_set->manifest_method($builder);
           $ms_simple->$build_method();

Version

       version 1.77

See Also