File Coverage

blib/lib/Dist/Inkt/Profile/TOBYINK.pm
Criterion Covered Total %
statement 1 3 33.3
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 2 4 50.0


line stmt bran cond sub pod time code
1             package Dist::Inkt::Profile::TOBYINK;
2              
3             our $AUTHORITY = 'cpan:TOBYINK';
4             our $VERSION = '0.023';
5              
6 1     1   3003 use Moose;
  0            
  0            
7             use Types::Standard qw(Bool);
8             use namespace::autoclean;
9              
10             extends 'Dist::Inkt';
11              
12             with qw(
13             Dist::Inkt::Role::ReadMetaDir
14             Dist::Inkt::Role::ProcessDOAP
15             Dist::Inkt::Role::ProcessDOAPDeps
16             Dist::Inkt::Role::CPANfile
17             Dist::Inkt::Role::DetermineRightsFromRdf
18             Dist::Inkt::Role::CopyStandardDocuments
19             Dist::Inkt::Role::CopyFiles
20             Dist::Inkt::Role::MetaProvides
21             Dist::Inkt::Role::MetaProvidesScripts
22             Dist::Inkt::Role::WriteMakefilePL
23             Dist::Inkt::Role::WriteMetaJSON
24             Dist::Inkt::Role::WriteMetaYML
25             Dist::Inkt::Role::WriteDOAP
26             Dist::Inkt::Role::WriteChanges
27             Dist::Inkt::Role::WriteCOPYRIGHT
28             Dist::Inkt::Role::WriteCREDITS
29             Dist::Inkt::Role::WriteLICENSE
30             Dist::Inkt::Role::WriteREADME
31             Dist::Inkt::Role::WriteINSTALL
32             Dist::Inkt::Role::SignDistribution
33             Dist::Inkt::Role::Release
34             Dist::Inkt::Role::Test::Whitespace
35             Dist::Inkt::Role::Test::BumpedVersion
36             Dist::Inkt::Role::Test::SaneVersions
37             Dist::Inkt::Role::Test::TestSuite
38             Dist::Inkt::Role::Test::Kwalitee
39             Dist::Inkt::Role::Test::Changes
40             Dist::Inkt::Role::Hg
41             );
42              
43             has skip_installation => ( is => "ro", isa => Bool, default => 0 );
44              
45             before Release => sub
46             {
47             my $self = shift;
48             return if $self->skip_installation;
49             my $tarball = Path::Tiny::path($_[0] || sprintf('%s.tar.gz', $self->targetdir));
50             $self->log("Installing locally...");
51             if (system("cpanm", $tarball)) {
52             die "Could not be installed locally!";
53             }
54             };
55              
56             after Release => sub
57             {
58             my $self = shift;
59            
60             require Path::Tiny;
61             my $dest = Path::Tiny::path("~")->child("perl5/published");
62             return $self->log("$dest does not exist; cannot move tarball safely away")
63             unless -d $dest;
64            
65             my $tarball = Path::Tiny::path($_[0] || sprintf('%s.tar.gz', $self->targetdir));
66             $self->log("Moving $tarball to $dest");
67             $tarball->move( $dest->child($tarball->basename) );
68             };
69              
70             1;
71              
72             __END__
73              
74             =pod
75              
76             =encoding utf-8
77              
78             =head1 NAME
79              
80             Dist::Inkt::Profile::TOBYINK - a Dist::Inkt profile for TOBYINK
81              
82             =head1 BUGS
83              
84             Please report any bugs to
85             L<http://rt.cpan.org/Dist/Display.html?Queue=Dist-Inkt-Profile-TOBYINK>.
86              
87             =head1 SEE ALSO
88              
89             L<Dist::Inkt>, L<Dist::Inkt::DOAP>.
90              
91             =head1 AUTHOR
92              
93             Toby Inkster E<lt>tobyink@cpan.orgE<gt>.
94              
95             =head1 COPYRIGHT AND LICENCE
96              
97             This software is copyright (c) 2014 by Toby Inkster.
98              
99             This is free software; you can redistribute it and/or modify it under
100             the same terms as the Perl 5 programming language system itself.
101              
102             =head1 DISCLAIMER OF WARRANTIES
103              
104             THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
105             WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
106             MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
107