File Coverage

blib/lib/Dist/Zilla/Plugin/Code/BeforeBuild.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod 0 1 0.0
total 31 32 96.8


line stmt bran cond sub pod time code
1             package Dist::Zilla::Plugin::Code::BeforeBuild;
2              
3 3     3   3451 use 5.006;
  3         15  
4 3     3   17 use strict;
  3         5  
  3         82  
5 3     3   14 use warnings;
  3         6  
  3         161  
6              
7             our $VERSION = '0.007';
8              
9 3     3   574 use Moose;
  3         450974  
  3         37  
10 3     3   22083 use namespace::autoclean;
  3         9  
  3         28  
11              
12             with 'Dist::Zilla::Role::BeforeBuild';
13              
14 3     3   1116 use Config::MVP 2.200012 (); # https://github.com/rjbs/Config-MVP/issues/13
  3         225  
  3         97  
15 3     3   471 use MooseX::Types::Moose qw(CodeRef);
  3         54727  
  3         32  
16              
17             has before_build => (
18             is => 'ro',
19             isa => 'CodeRef',
20             reader => '_before_build',
21             required => 1,
22             );
23              
24             sub before_build {
25 4     4 0 156983 my $self = shift;
26              
27 4         189 my $code_ref = $self->_before_build;
28 4         27 return $self->$code_ref(@_);
29             }
30              
31             __PACKAGE__->meta->make_immutable;
32              
33             1;
34              
35             __END__
36              
37             =pod
38              
39             =encoding UTF-8
40              
41             =head1 NAME
42              
43             Dist::Zilla::Plugin::Code::BeforeBuild - something that runs before building really begins
44              
45             =head1 VERSION
46              
47             Version 0.007
48              
49             =head1 SYNOPSIS
50              
51             =head2 Dist::Zilla::Role::PluginBundle
52              
53             package Dist::Zilla::PluginBundle::MyBundle;
54              
55             use Moose;
56             with 'Dist::Zilla::Role::PluginBundle';
57              
58             sub bundle_config {
59             my ( $class, $section ) = @_;
60              
61             my @plugins;
62             push @plugins, [
63             'SomeUniqueName',
64             'Dist::Zilla::Plugin::Code::BeforeBuild',
65             {
66             before_build => sub {
67             my ($self) = @_;
68             $self->log('Hello world');
69             },
70             },
71             ];
72              
73             return @plugins;
74             }
75              
76             =head2 Dist::Zilla::Role::PluginBundle::Easy
77              
78             package Dist::Zilla::PluginBundle::MyBundle;
79              
80             use Moose;
81             with 'Dist::Zilla::Role::PluginBundle::Easy';
82              
83             sub configure {
84             my ( $self ) = @_;
85              
86             $self->add_plugins([
87             'Code::BeforeBuild',
88             {
89             before_build => sub {
90             my ($self) = @_;
91             $self->log('Hello world');
92             },
93             },
94             ]);
95              
96             return;
97             }
98              
99             =head1 DESCRIPTION
100              
101             This plugin implements the L<Dist::Zilla::Role::BeforeBuild> role.
102              
103             =head1 SUPPORT
104              
105             =head2 Bugs / Feature Requests
106              
107             Please report any bugs or feature requests through the issue tracker
108             at L<https://github.com/skirmess/Dist-Zilla-Plugin-Code/issues>.
109             You will be notified automatically of any progress on your issue.
110              
111             =head2 Source Code
112              
113             This is open source software. The code repository is available for
114             public review and contribution under the terms of the license.
115              
116             L<https://github.com/skirmess/Dist-Zilla-Plugin-Code>
117              
118             git clone https://github.com/skirmess/Dist-Zilla-Plugin-Code.git
119              
120             =head1 AUTHOR
121              
122             Sven Kirmess <sven.kirmess@kzone.ch>
123              
124             =head1 COPYRIGHT AND LICENSE
125              
126             This software is Copyright (c) 2020-2021 by Sven Kirmess.
127              
128             This is free software, licensed under:
129              
130             The (two-clause) FreeBSD License
131              
132             =head1 SEE ALSO
133              
134             L<Dist::Zilla>, L<Dist::Zilla::Role::BeforeBuild>
135              
136             =cut
137              
138             # vim: ts=4 sts=4 sw=4 et: syntax=perl