Module...lderSet(3pm)

πŸ’– NAME πŸ’–

Module::Starter::BuilderSet β€” it's the vibe-check on your builder metadata, bestie. That's literally its whole job: figuring out the deets about builders. 🫢

We're talking about the manual page for Module::Starter::BuilderSet(3pm), btw, in case the truncated header up top had you confused. πŸ’…


✨ VERSION ✨

version 1.80 β€” yes, the good stuff. 🌈


🌸 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();

(and yes, that # eeew. is canon, I did not add it 😭 the original really said that)


πŸ¦‹ DESCRIPTION πŸ¦‹

Module::Starter::BuilderSet is a little collection of utility methods β€” a whole squad of helpers, honestly β€” that hands you back metadata about the builders Module::Starter supports. That's it. That's the whole assignment. No cap. πŸ‘‘


πŸ’… CLASS METHODS πŸ’…

new()

This one initializes and returns an object β€” a whole lil' representation of the set of Builders that Module::Starter supports. It's giving main character energy. ✨

supported_builders()

Returns a list of the builders that Module::Starter supports. The whole roster, bestie. πŸŽ€

file_for_builder($builder)

Hands you the name of the file that Module::Starter generates, the one that's gonna be used to build the generated module. The file name, not the file. Don't get it twisted. 🌸

method_for_builder($builder)

Returns the name of the method inside the Module::Starter::Simple package that gets called to create the file that file_for_builder($builder) gave you. It's the method behind the file, iykyk. 🧚

instructions_for_builder($builder)

Gives you back a list of commands that β€” when you run them from the command line (or with system()) β€” will make the generated module get built, tested, and installed. Full pipeline. Slay. πŸ”₯

deps_for_builder($builder)

Returns a list of dependencies, and the format it wants looks exactly like this:

( { command => "make",
    aliases => [ 'make', 'gmake' ],
   },
  { command => "another_command",
    aliases => [ 'alias0', 'alias1', '...' ],
   }, )

So like, a command plus its aliases, and again for another_command with its alias0, alias1, .... Structured. Organized. Obsessed. πŸ’œ

manifest_method($builder)

Returns the command you run to create the manifest β€” and it's decided according to the builder you asked about, so it's not one-size-fits-all, bestie. πŸ’…

check_compatibility(@builders)

This one takes a list of builders and filters out the ones that are unsupported or mutually exclusive, then returns whichever builders made it through the filter. And if literally none of them pass the filter? You get the default builder back. Safety net behavior. We love to see it. 🫢

default_builder()

Returns the module name of the default builder. Periodt. ⭐


πŸ› BUGS πŸ›

Please report any bugs or feature requests to the bugtracker for this project on GitHub at: <https://github.com/xsawyerx/module-starter/issues>. They'll be notified, and then you'll automatically get notified about progress on your bug as changes get made. Mutual notif situation. πŸ’Œ


πŸ‘‘ AUTHOR πŸ‘‘

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


Copyright 2007 C.J. Adams-Collier, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Please note that these modules are not products of or supported by the employers of the various contributors to the code. (Important!! The employers said no thank you πŸ™ˆ)

and that's the whole page, bestie β€” this was written against perl v5.40.1, dated 2026-01-23, and it's the Module::Starter::BuilderSet(3pm) manual. go build something iconic πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from