Commit | Line | Data |
89de6a33 |
1 | #!/usr/bin/env perl |
839da3d7 |
2 | |
233ba83d |
3 | use strict; |
4 | use warnings; |
839da3d7 |
5 | |
52d05eb5 |
6 | use inc::Module::Install 0.91; |
233ba83d |
7 | use Module::Install::AuthorRequires; |
8 | use Module::Install::AuthorTests; |
9eaaf804 |
9 | use Module::Install::ReadmeFromPod; |
89de6a33 |
10 | |
11 | name 'Gitalist'; |
12 | all_from 'lib/Gitalist.pm'; |
9eaaf804 |
13 | readme_from 'lib/Gitalist.pm'; |
89de6a33 |
14 | |
f1855be5 |
15 | author 'Dan Brook <broq@cpan.org>'; |
16 | |
17 | license 'gpl2'; |
18 | |
3444c731 |
19 | requires 'Catalyst::Runtime' => '5.8001402'; |
89de6a33 |
20 | requires 'Catalyst::Plugin::ConfigLoader'; |
e14c0e67 |
21 | requires 'Catalyst::Plugin::StackTrace'; |
89de6a33 |
22 | requires 'Catalyst::Plugin::Static::Simple'; |
fac828e0 |
23 | requires 'Catalyst::Plugin::Unicode::Encoding'; |
89de6a33 |
24 | requires 'Catalyst::Action::RenderView'; |
bddfb71e |
25 | requires 'Catalyst::Component::InstancePerContext'; |
26 | requires 'Catalyst::View::TT'; |
839da3d7 |
27 | |
28 | requires 'Template'; |
29 | requires 'Template::Provider::Encoding'; |
e14c0e67 |
30 | requires 'Template::Plugin::Cycle'; |
839da3d7 |
31 | |
32 | requires 'Config::General'; |
33 | |
42fe5d11 |
34 | requires 'Moose'; |
839da3d7 |
35 | requires 'Moose::Autobox'; |
36 | requires 'MooseX::Declare'; |
6dca83ef |
37 | requires 'MooseX::Types::Common'; |
84f31a44 |
38 | requires 'MooseX::Types::Path::Class'; |
39 | requires 'MooseX::Types'; |
839da3d7 |
40 | requires 'namespace::autoclean'; |
41 | |
52d05eb5 |
42 | requires 'Git::PurePerl' => '0.43'; |
839da3d7 |
43 | |
84f31a44 |
44 | requires 'aliased'; |
267a322f |
45 | requires 'CGI'; |
46 | requires 'DateTime'; |
839da3d7 |
47 | requires 'DateTime::Format::Mail'; |
48 | requires 'File::Copy::Recursive'; |
839da3d7 |
49 | requires 'File::Which'; |
50 | requires 'HTML::Entities'; |
839da3d7 |
51 | requires 'IPC::Run'; |
267a322f |
52 | requires 'List::MoreUtils'; |
45420449 |
53 | requires 'Path::Class' => '0.17'; |
267a322f |
54 | requires 'Sub::Exporter'; |
55 | requires 'Syntax::Highlight::Engine::Kate'; |
d17ce39c |
56 | requires 'Sys::Hostname'; |
57 | requires 'XML::Atom'; |
f796a861 |
58 | requires 'XML::RSS'; |
286cea09 |
59 | requires 'XML::OPML::SimpleGen'; |
267a322f |
60 | |
233ba83d |
61 | author_requires 'Test::NoTabs'; |
62 | author_requires 'Test::Pod' => '1.14'; |
63 | author_requires 'Test::Pod::Coverage' => '1.04'; |
64 | |
267a322f |
65 | test_requires 'Test::More' => '0.88'; |
5effb2c9 |
66 | test_requires 'Test::utf8' => '0.02'; |
267a322f |
67 | |
d25c7f92 |
68 | resources bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Gitalist'; |
69 | resources repository => 'git://git.shadowcat.co.uk/catagits/Gitalist.git'; |
d49ead14 |
70 | |
267a322f |
71 | catalyst; |
89de6a33 |
72 | |
233ba83d |
73 | author_tests 't/author'; |
89de6a33 |
74 | install_script glob('script/*.pl'); |
75 | auto_install; |
0164ed44 |
76 | |
77 | # This is totally gross :) |
78 | # However, it is also much more effective than Module::Install::ProvidesClass |
79 | # which a) just does not work very well for us, b) totally won't install from |
80 | # cpan right now.. |
81 | author_requires 'Module::Find'; |
82 | author_requires 'B::Hooks::OP::Check::StashChange'; |
83 | author_requires 'B::Compiling'; |
84 | if ($Module::Install::AUTHOR) { |
85 | require Module::Find; |
86 | require B::Hooks::OP::Check::StashChange; |
87 | require B::Compiling; |
88 | require FindBin; |
89 | require lib; |
90 | |
91 | my $libdir = "$FindBin::Bin/lib"; |
92 | lib->import($libdir); |
93 | |
94 | my %packages; |
95 | |
96 | our $id = B::Hooks::OP::Check::StashChange::register(sub { |
97 | my ($new, $old) = @_; |
98 | my $file = B::Compiling::PL_compiling()->file; |
99 | return unless $file =~ s/^$libdir/lib/; |
100 | $packages{$new} ||= $file |
101 | if $new =~ /^Gitalist/; |
102 | }); |
103 | |
104 | require Gitalist; |
105 | Module::Find::useall(qw/Gitalist/); |
106 | undef $id; |
107 | |
108 | no strict 'refs'; |
109 | provides($_ => { |
110 | file => $packages{$_}, |
111 | ${$_.'::VERSION'} ? ( version => $_->VERSION() ) : () |
112 | }) for keys %packages; |
113 | } |
114 | |
89de6a33 |
115 | WriteAll; |
0164ed44 |
116 | |