File Coverage

blib/lib/Task/AlienDev.pm
Criterion Covered Total %
statement 8 8 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 11 11 100.0


line stmt bran cond sub pod time code
1             package Task::AlienDev;
2              
3 1     1   248948 use strict;
  1         10  
  1         32  
4 1     1   5 use warnings;
  1         2  
  1         25  
5 1     1   29 use 5.022;
  1         4  
6              
7             # ABSTRACT: Task bundle for Alien development
8             our $VERSION = '0.02'; # VERSION
9              
10              
11             1;
12              
13             __END__
14              
15             =pod
16              
17             =encoding UTF-8
18              
19             =head1 NAME
20              
21             Task::AlienDev - Task bundle for Alien development
22              
23             =head1 VERSION
24              
25             version 0.02
26              
27             =head1 SYNOPSIS
28              
29             $ cpanm Task::AlienDev
30              
31             =head1 DESCRIPTION
32              
33             This L<Task> bundle is useful for those doing L<Alien> development. Installing it will give
34             you these modules:
35              
36             =over 4
37              
38             =item L<Alien::Build>
39              
40             Framework for writing L<Alien>s.
41              
42             =item L<Alien::MSYS>
43              
44             Is used on Windows to make autoconf style packages work.
45              
46             =item L<App::af>
47              
48             The C<af> command line application for working with L<alienfile>s.
49              
50             =item L<Dist::Zilla::MintingProfile::AlienBuild>
51              
52             The L<Dist::Zilla> minting profile for creating L<Alien::Build> based L<Alien>s.
53              
54             =item L<Dist::Zilla::Plugin::AlienBuild>
55              
56             Some useful L<Dist::Zilla> plugins useful for developing L<Alien::Build> based L<Alien>s.
57              
58             =back
59              
60             The latest versions as of when this L<Task> was released should be installed at minimum if
61             they are not already installed.
62              
63             In addition these modules, which are dynamic dependencies on some platforms, are installed:
64              
65             =over 4
66              
67             =item L<Env::ShellWords>
68              
69             =item L<File::Listing>
70              
71             =item L<HTTP::Tiny>
72              
73             =item L<Mojo::DOM58>
74              
75             =item L<Sort::Versions>
76              
77             =item L<URI>
78              
79             =back
80              
81             Having these dynamic dependencies pre-installed makes it easier to test L<Alien>s in both
82             C<share> and C<system> modes.
83              
84             Other prereqs may be added in the future if they are deemed useful for L<Alien> development.
85              
86             =head1 CAVEATS
87              
88             This module does require Perl 5.22 or better currently because at least some of its prereqs
89             require that version. Note that L<Alien>s authored with these tools should work on Perls
90             of at least 5.8.4 or better, so this is just a I<development> requirement.
91              
92             This L<Task> indirectly requires both L<Alien::FFI> and L<Alien::Libarchive3>. If you do
93             not want to build them from source or do not have internet access where the build is
94             happening you will want to pre-install C<libffi> and C<libarchive>. On Debian based systems
95             you can do that with C<sudo apt-get update && sudo apt-get install libffi-dev libarchive-dev>.
96              
97             =head1 AUTHOR
98              
99             Graham Ollis <plicease@cpan.org>
100              
101             =head1 COPYRIGHT AND LICENSE
102              
103             This software is copyright (c) 2021 by Graham Ollis.
104              
105             This is free software; you can redistribute it and/or modify it under
106             the same terms as the Perl 5 programming language system itself.
107              
108             =cut