Module...ggable(3pm)

πŸ“¦
version 0.10 Β· 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– Module::Build::Pluggable β€” Module::Build meets plugins πŸ’–

okay bestie, gather round, because this little Module::Build::Pluggable page is short but it is iconic. it's part of the User Contributed Perl Documentation and honestly? it understood the assignment. ✨


✨ SYNOPSIS ✨

like, here's the whole vibe in code form:

use Module::Build::Pluggable (
    'Repository',
    'ReadmeMarkdownFromPod',
    'PPPort',
);

my $builder = Module::Build::Pluggable->new(
    ... # normal M::B args
);
$builder->create_build_script();

that's it, that's the whole thing. you load up your plugins by name, you make a builder with all your normal M::B args, and you call create_build_script(). slay 🫢


🌸 DESCRIPTION 🌸

so basically, Module::Build::Pluggable adds pluggability to Module::Build. that's the teal deer. it lets you stack plugins on top of your build, no cap. πŸ’…


πŸ¦‹ HOW CAN I WRITE MY OWN PLUGIN? πŸ¦‹

omg okay this is the fun part. bestie, listen carefully:

Module::Build::Pluggable calls HOOK_prepare while it's preparing arguments for Module::Build->new, then HOOK_configure on the configuration step, and HOOK_build on the build step.

that's all. literally just those three hooks to know and you're cooking. πŸ”₯

and if you want a little help, you can use Module::Build::Pluggable::Base as your base class. a whole starting point, gifted to you. main character energy. πŸ‘‘


πŸ’œ AUTHOR πŸ’œ

Tokuhiro Matsuno <tokuhirom AAJKLFJEF@ GMAIL COM>

(that's the whole credit. respect. πŸŽ€)


🌈 SEE ALSO 🌈

this module is built on Module::Build. iykyk. πŸ’«


⭐ LICENSE ⭐

Copyright (C) Tokuhiro Matsuno

this library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. legal but make it cute. πŸ“


little warning bestie: do NOT try to copy that email address into your contacts, it's deliberately obfuscated (the "AAJKLFJEF@" part is spam-blocking, not a typo). write it out properly if you ever need to reach out. πŸ™ˆ

and that's a wrap, gorgeous! this page came to you from the perl v5.40.1 docs, dated 2025-05-04, under the Module...ggable(3pm) manual. periodt πŸ’…βœ¨πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from