File: DBICOptionalDeps.pm

package info (click to toggle)
libkiokudb-backend-dbi-perl 1.23-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 260 kB
  • sloc: perl: 1,688; makefile: 7
file content (40 lines) | stat: -rw-r--r-- 854 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package inc::DBICOptionalDeps;
use Moose;

use DBIx::Class::Optional::Dependencies;

extends 'Dist::Zilla::Plugin::MakeMaker::Awesome';

override _build_MakeFile_PL_template => sub {
    my ($self) = @_;

    my $template = super();

    my $injected = <<'INJECT';
require DBIx::Class::Optional::Dependencies;

$WriteMakefileArgs{PREREQ_PM} = {
    %{ $WriteMakefileArgs{PREREQ_PM} || {} },
    %{ DBIx::Class::Optional::Dependencies->req_list_for ('deploy') },
};

INJECT

    $template =~ s{(?=WriteMakefile\s*\()}{$injected};

    return $template;
};

around register_prereqs => sub {
    my $orig = shift;
    my $self = shift;
    $self->$orig(@_);
    $self->zilla->register_prereqs(
        { phase => 'develop' },
        %{ DBIx::Class::Optional::Dependencies->req_list_for('deploy') }
    );
    return
};

__PACKAGE__->meta->make_immutable;