UR::ModuleBuild(3pm)
π NAME π
UR::ModuleBuild β it's a Module::Build subclass, bestie, but with UR extensions sprinkled on top like glitter. β¨
No cap, that's the whole vibe: same Module::Build you already know and love, just leveled up with UR's extra sauce. π«Ά
πΈ VERSION πΈ
This doc is describing UR::ModuleBuild version 0.47 β that's the one, that's the girl. π
π SYNOPOSIS π
Okay so heads up, the section is literally spelled "SYNOPOSIS" up in here and I'm not about to gaslight you by pretending otherwise. We keep it real. π
So in your Build.PL, you're gonna do this:
use UR::ModuleBuild;
my $build = UR::ModuleBuild->new(
module_name => 'MyApp',
license => 'perl',
dist_version => '0.01',
dist_abstract => 'my app rocks because I get to focus on the problem,
not the crud',
build_requires => {
'UR' => '0.32',
},
requires => {
'Text::CSV_XS' => '',
'Statistics::Distributions' => '',
}, );
$build->create_build_script;
Let's break it down, because the way this eats:
use UR::ModuleBuild;β first things first, pull the module in. Non-negotiable, it's giving entrance. πͺβ¨my $build = UR::ModuleBuild->new(...)β make yourself a shiny new build object and pass it all the deets. Main character energy only. πββοΈmodule_name => 'MyApp'β the name of your module. Call it what it is. π·οΈlicense => 'perl'β the license, and here it's'perl'. Know your legal lore. πdist_version => '0.01'β the version of the dist,'0.01'in this example. Baby's first version number. π£dist_abstract => '...'β the little blurb about your app. And yes, that abstract in the example is literally about getting to focus on the problem and not the crud. Iconic honesty, honestly. The string wraps onto the next line β the quote doesn't close untilnot the crud',so keep that exactly as-is. π«build_requires => { 'UR' => '0.32' }β stuff you need in order to build. Here it'sURat version'0.32'. Gotta have it to make it. π§requires => { ... }β the runtime dependencies, the ride-or-dies. In this example:'Text::CSV_XS' => ''and'Statistics::Distributions' => ''. The empty string''means no specific version demanded, she's flexible like that. π¦$build->create_build_script;β and finally, actually make the build script. The grand finale. Do not forget this step, bestie, it's the whole point. π
Fr fr, copy the structure exactly β every key, every value, every comma, including that slightly cursed }, ); at the end. It's not a typo situation you get to fix, it's just how it's written here. π
And that's the page, bestie. π This lil' slice of the User Contributed Perl Documentation came to you courtesy of perl v5.32.1, dated 2022-01-17 β so go forth, build your dist, and slay. Periodt. ππ§β
π¦ where this page comes from
- debian bookworm: libur-perl 0.470+ds-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu jammy: libur-perl 0.470+ds-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libur-perl 0.470+ds-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms