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 { |
32 | return unless $File::Find::name =~ /\.pm$/; |
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'; |
89de6a33 |
57 | requires 'Catalyst::Action::RenderView'; |
bddfb71e |
58 | requires 'Catalyst::Component::InstancePerContext'; |
59 | requires 'Catalyst::View::TT'; |
839da3d7 |
60 | |
61 | requires 'Template'; |
62 | requires 'Template::Provider::Encoding'; |
e14c0e67 |
63 | requires 'Template::Plugin::Cycle'; |
839da3d7 |
64 | |
65 | requires 'Config::General'; |
66 | |
42fe5d11 |
67 | requires 'Moose'; |
839da3d7 |
68 | requires 'Moose::Autobox'; |
2a9f541e |
69 | requires 'MooseX::Declare' => '0.32'; |
6dca83ef |
70 | requires 'MooseX::Types::Common'; |
84f31a44 |
71 | requires 'MooseX::Types::Path::Class'; |
72 | requires 'MooseX::Types'; |
839da3d7 |
73 | requires 'namespace::autoclean'; |
74 | |
507d1a2b |
75 | requires 'Git::PurePerl' => '0.46'; |
839da3d7 |
76 | |
84f31a44 |
77 | requires 'aliased'; |
267a322f |
78 | requires 'CGI'; |
79 | requires 'DateTime'; |
839da3d7 |
80 | requires 'DateTime::Format::Mail'; |
81 | requires 'File::Copy::Recursive'; |
839da3d7 |
82 | requires 'File::Which'; |
83 | requires 'HTML::Entities'; |
839da3d7 |
84 | requires 'IPC::Run'; |
267a322f |
85 | requires 'List::MoreUtils'; |
45420449 |
86 | requires 'Path::Class' => '0.17'; |
267a322f |
87 | requires 'Sub::Exporter'; |
88 | requires 'Syntax::Highlight::Engine::Kate'; |
d17ce39c |
89 | requires 'Sys::Hostname'; |
90 | requires 'XML::Atom'; |
f796a861 |
91 | requires 'XML::RSS'; |
286cea09 |
92 | requires 'XML::OPML::SimpleGen'; |
267a322f |
93 | |
94 | test_requires 'Test::More' => '0.88'; |
5effb2c9 |
95 | test_requires 'Test::utf8' => '0.02'; |
267a322f |
96 | |
d25c7f92 |
97 | resources bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Gitalist'; |
98 | resources repository => 'git://git.shadowcat.co.uk/catagits/Gitalist.git'; |
d49ead14 |
99 | |
267a322f |
100 | catalyst; |
89de6a33 |
101 | |
31780e37 |
102 | if ($Module::Install::AUTHOR) { |
103 | system("pod2text lib/Gitalist.pm > README") |
104 | and die $!; |
8dce2bf3 |
105 | } |
106 | |
89de6a33 |
107 | install_script glob('script/*.pl'); |
108 | auto_install; |
0164ed44 |
109 | |
31780e37 |
110 | { # Make sure you REALLY REALLY have to have the env variable set to run |
111 | # any of the dist actions. |
112 | package # PAUSE HIDE |
113 | MY; |
114 | |
115 | sub dist_core { # MakeMaker is awesome fun to customise. And when I say |
116 | my ($self, @args) = @_; # fun I mean OH GOD MY EYES. |
117 | my $text = $self->SUPER::dist_core(@args); |
118 | my @lines = split /\n/, $text; |
119 | unless ($ENV{GITALIST_RELEASE_TESTING}) { |
120 | my ($printed, @out_lines); |
121 | foreach my $in (@lines) { |
122 | if ($in =~ /^\S/) { |
123 | undef $printed; |
124 | $in =~ s/:.*$/:/g; |
125 | push @out_lines, $in; |
126 | } |
127 | elsif ($in =~ /^\s+$/) { |
128 | push @out_lines, $in; |
129 | } |
130 | elsif (!$printed) { |
131 | push @out_lines, "\techo Get stuffed mate - set GITALIST_RELEASE_TESTING if you really want to do this.."; |
132 | $printed = 1; |
133 | } |
134 | else {} |
135 | } |
136 | @lines = @out_lines; |
137 | } |
138 | return join "\n", @lines; |
139 | } |
0164ed44 |
140 | } |
141 | |
89de6a33 |
142 | WriteAll; |
0164ed44 |
143 | |