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