Module...ANfile(3pm)

πŸ’– Module::Build::Pluggable::CPANfile β€” the 3pm manual, but make it cute πŸ’–

okay bestie, so you know how Module::Build::Pluggable exists and you want your deps to just… come from your cpanfile? yeah. that's this. it's a Perl manual page (3pm, iykyk) and it's literally the plot twist your build script has been waiting for.


✨ NAME ✨

Module::Build::Pluggable::CPANfile β€” Include cpanfile πŸŽ€

like. it includes the cpanfile. that's the whole vibe. no cap.


🌸 SYNOPSIS 🌸

here's the little scenario, in code, exactly as written:

# cpanfile
requires 'Plack', 0.9;
on test => sub {
    requires 'Test::Warn';
};

# Build.PL
use Module::Build::Pluggable (
    'CPANfile'
);

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

so yeah β€” you drop 'CPANfile' into your use Module::Build::Pluggable (...), build your builder like normal, and call $builder->create_build_script(). the comment there is doing a LOT of heavy lifting: those are the normal M::B args, but NOT required prereqs. so don't be putting your required prereqs in there, bestie, the cpanfile is handling that πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

Module::Build::Pluggable::CPANfile is a plugin for Module::Build::Pluggable whose whole job is to pull dependencies out of cpanfile and shove them into your meta files. it's giving "the cpanfile, but for your meta files." iconic behavior, honestly.

also, for the lore: this module is Module::Install::CPANfile for Module::Build. same energy, different framework. 🫢

🚨 THIS IS A DEVELOPMENT RELEASE. API MAY CHANGE WITHOUT NOTICE. 🚨

not me warning you dramatically β€” fr fr, the API could change on you with zero heads-up. so don't be shocked when it does. main character energy, unpredictable plotline. πŸ’€


πŸ‘‘ AUTHOR πŸ‘‘

Masahiro Nagano <kazeburo@gmail.com>

(king behavior, we thank him for his service πŸ™‡β™€οΈ)


πŸ”₯ SEE ALSO πŸ”₯

  • Module::Install::CPANfile
  • cpanfile
  • Module::Build::Pluggable

go read those too, bestie, they're all part of the same friend group 🌈


πŸ’œ LICENSE πŸ’œ

Copyright (C) Masahiro Nagano

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

(so like, same terms as Perl itself. do with that what you will, but legally please 🌸)


and that's the whole page!! this version came to you courtesy of perl v5.34.0, dated 2022-07-20 β€” yes the footer is old, she's vintage, she's still slaying ✨ mwah, bye bestie πŸ’…πŸŽ€

πŸ“¦ where this page comes from