Commit | Line | Data |
89de6a33 |
1 | #!/usr/bin/env perl |
99daca22 |
2 | |
42b626cd |
3 | use FindBin; |
4 | BEGIN { do "$FindBin::Bin/script/env" or die $@ } |
839da3d7 |
5 | |
233ba83d |
6 | use strict; |
7 | use warnings; |
839da3d7 |
8 | |
52d05eb5 |
9 | use inc::Module::Install 0.91; |
89de6a33 |
10 | |
11 | name 'Gitalist'; |
12 | all_from 'lib/Gitalist.pm'; |
13 | |
f1855be5 |
14 | author 'Dan Brook <broq@cpan.org>'; |
15 | |
16 | license 'gpl2'; |
17 | |
31780e37 |
18 | if ($ENV{GITALIST_RELEASE_TESTING}) { |
6e601fea |
19 | # Nasty hack as Module::Install kindly re-loads all of these :/ |
31780e37 |
20 | local $SIG{__WARN__} = sub { return if $_[0] =~ /redefined/; warn shift }; |
21 | require Module::Install::AuthorRequires; |
22 | require Module::Install::AuthorTests; |
31780e37 |
23 | |
cb52c897 |
24 | author_tests('t/author'); |
25 | author_requires('Test::NoTabs'); |
26 | author_requires('Test::Pod' => '1.14'); |
27 | author_requires('Test::Pod::Coverage' => '1.04'); |
6e601fea |
28 | |
29 | require File::Find; |
30 | require FindBin; |
31 | require ExtUtils::MM_Unix; |
32 | # Fill in provides info so that indexing works right (in the face of MX::Declare) |
33 | # by just smashing filenames to package names and not trying to be smart.. |
34 | File::Find::find(sub { |
1aa53942 |
35 | return unless /^\w.*?\.pm$/; |
6e601fea |
36 | my $fn = $File::Find::name; |
37 | my $ver = ExtUtils::MM_Unix->parse_version($fn); |
38 | |
39 | $fn =~ s/.+?lib/lib/; |
40 | my $pn = $fn; |
41 | $pn =~ s|^lib/||; |
42 | $pn =~ s|/|::|g; |
43 | $pn =~ s/\.pm$//; |
44 | |
45 | provides( |
46 | $pn => { |
47 | file => $fn, |
48 | # Ewww |
49 | $ver ne 'undef' ? (version => $ver) : (), |
50 | }, |
51 | ); |
52 | }, $FindBin::Bin . "/lib"); |
31780e37 |
53 | } |
54 | |
3444c731 |
55 | requires 'Catalyst::Runtime' => '5.8001402'; |
89de6a33 |
56 | requires 'Catalyst::Plugin::ConfigLoader'; |
e14c0e67 |
57 | requires 'Catalyst::Plugin::StackTrace'; |
89de6a33 |
58 | requires 'Catalyst::Plugin::Static::Simple'; |
fac828e0 |
59 | requires 'Catalyst::Plugin::Unicode::Encoding'; |
db6de0b0 |
60 | requires 'Catalyst::Plugin::SubRequest' => '0.15'; |
89de6a33 |
61 | requires 'Catalyst::Action::RenderView'; |
bddfb71e |
62 | requires 'Catalyst::Component::InstancePerContext'; |
b6ec181b |
63 | requires 'Catalyst::Controller::ActionRole'; |
ca84e607 |
64 | requires 'Catalyst::Action::REST' => '0.85'; |
16bdb8df |
65 | requires 'Catalyst::View::Component::SubInclude' => '0.07'; |
ca84e607 |
66 | requires 'Catalyst::View::TT' => '0.34'; |
ecb0ebe7 |
67 | requires 'Try::Tiny'; |
a3f91c1a |
68 | requires 'Template' => '2.22'; |
839da3d7 |
69 | requires 'Template::Provider::Encoding'; |
e14c0e67 |
70 | requires 'Template::Plugin::Cycle'; |
839da3d7 |
71 | |
72 | requires 'Config::General'; |
73 | |
42fe5d11 |
74 | requires 'Moose'; |
839da3d7 |
75 | requires 'Moose::Autobox'; |
a3f91c1a |
76 | requires 'MooseX::MultiMethods' => '0.10'; |
77 | requires 'MooseX::Declare' => '0.32'; |
6dca83ef |
78 | requires 'MooseX::Types::Common'; |
84f31a44 |
79 | requires 'MooseX::Types::Path::Class'; |
80 | requires 'MooseX::Types'; |
839da3d7 |
81 | requires 'namespace::autoclean'; |
82 | |
507d1a2b |
83 | requires 'Git::PurePerl' => '0.46'; |
839da3d7 |
84 | |
84f31a44 |
85 | requires 'aliased'; |
267a322f |
86 | requires 'CGI'; |
87 | requires 'DateTime'; |
839da3d7 |
88 | requires 'DateTime::Format::Mail'; |
89 | requires 'File::Copy::Recursive'; |
e172b6b8 |
90 | requires 'File::Type'; |
91 | requires 'File::Type::WebImages'; |
839da3d7 |
92 | requires 'File::Which'; |
93 | requires 'HTML::Entities'; |
839da3d7 |
94 | requires 'IPC::Run'; |
99daca22 |
95 | requires 'JSON::XS'; |
267a322f |
96 | requires 'List::MoreUtils'; |
45420449 |
97 | requires 'Path::Class' => '0.17'; |
267a322f |
98 | requires 'Sub::Exporter'; |
99 | requires 'Syntax::Highlight::Engine::Kate'; |
d17ce39c |
100 | requires 'Sys::Hostname'; |
267a322f |
101 | |
c405f7db |
102 | requires_external_bin 'git'; |
103 | |
267a322f |
104 | test_requires 'Test::More' => '0.88'; |
5effb2c9 |
105 | test_requires 'Test::utf8' => '0.02'; |
267a322f |
106 | |
d25c7f92 |
107 | resources bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Gitalist'; |
108 | resources repository => 'git://git.shadowcat.co.uk/catagits/Gitalist.git'; |
d49ead14 |
109 | |
267a322f |
110 | catalyst; |
89de6a33 |
111 | |
31780e37 |
112 | if ($Module::Install::AUTHOR) { |
113 | system("pod2text lib/Gitalist.pm > README") |
114 | and die $!; |
f97f8af8 |
115 | include 'File::Copy::Recursive'; |
8dce2bf3 |
116 | } |
117 | |
6dac2638 |
118 | if ($ENV{GITALIST_RELEASE_TESTING}) { |
6513677c |
119 | author_tests('t/author'); |
120 | author_requires('Test::NoTabs'); |
121 | author_requires('Test::Pod' => '1.14'); |
122 | author_requires('Test::Pod::Coverage' => '1.04'); |
123 | author_requires('Test::WWW::Mechanize::Catalyst' => '0.51'); |
124 | author_requires('HTML::TreeBuilder::XPath'); |
125 | author_requires('WWW::Mechanize::TreeBuilder'); |
6dac2638 |
126 | } |
127 | |
89de6a33 |
128 | install_script glob('script/*.pl'); |
129 | auto_install; |
0164ed44 |
130 | |
31780e37 |
131 | { # Make sure you REALLY REALLY have to have the env variable set to run |
132 | # any of the dist actions. |
133 | package # PAUSE HIDE |
134 | MY; |
135 | |
136 | sub dist_core { # MakeMaker is awesome fun to customise. And when I say |
137 | my ($self, @args) = @_; # fun I mean OH GOD MY EYES. |
138 | my $text = $self->SUPER::dist_core(@args); |
139 | my @lines = split /\n/, $text; |
140 | unless ($ENV{GITALIST_RELEASE_TESTING}) { |
141 | my ($printed, @out_lines); |
142 | foreach my $in (@lines) { |
143 | if ($in =~ /^\S/) { |
144 | undef $printed; |
145 | $in =~ s/:.*$/:/g; |
146 | push @out_lines, $in; |
147 | } |
148 | elsif ($in =~ /^\s+$/) { |
149 | push @out_lines, $in; |
150 | } |
151 | elsif (!$printed) { |
152 | push @out_lines, "\techo Get stuffed mate - set GITALIST_RELEASE_TESTING if you really want to do this.."; |
153 | $printed = 1; |
154 | } |
155 | else {} |
156 | } |
157 | @lines = @out_lines; |
158 | } |
159 | return join "\n", @lines; |
160 | } |
0164ed44 |
161 | } |
162 | |
89de6a33 |
163 | WriteAll; |
0164ed44 |
164 | |