forked from libwww-perl/WWW-Mechanize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.PL
129 lines (107 loc) · 3.69 KB
/
Makefile.PL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package main;
require 5.008000;
use strict;
use warnings;
use ExtUtils::MakeMaker qw( WriteMakefile );
use File::Spec;
use Getopt::Long;
my $live = 0;
my $local = 1;
GetOptions(
'live!' => \$live,
'local!' => \$local,
'all' => sub { print "All tests are on by default. This option is deprecated.\n" },
'mech-dump!' => sub { print "mech-dump is always installed now. This option is deprecated.\n" },
) or exit 1;
my @tests = glob File::Spec->catfile( 't', '*.t' );
push( @tests, glob File::Spec->catfile( 't', 'local', '*.t' ) ) if $local;
push( @tests, glob File::Spec->catfile( 't', 'live', '*.t' ) ) if $live;
push( @tests, glob File::Spec->catfile( 't', 'mech-dump', '*.t' ) );
my $parms = {
NAME => 'WWW::Mechanize',
VERSION_FROM => 'lib/WWW/Mechanize.pm', # finds $VERSION
ABSTRACT_FROM => 'lib/WWW/Mechanize.pm', # retrieve abstract from module
AUTHOR => 'Jesse Vincent <[email protected]>',
EXE_FILES => [ 'bin/mech-dump' ],
PREREQ_PM => {
'Carp' => 0,
'File::Temp' => 0,
'FindBin' => 0,
'Getopt::Long' => 0,
'HTML::Form' => 6.00,
'HTML::HeadParser' => 0,
'HTML::Parser' => 3.33,
'HTML::TokeParser' => 2.28,
'HTML::TreeBuilder' => 0,
'HTTP::Daemon' => 0,
'HTTP::Request' => 1.30,
'HTTP::Server::Simple' => 0.35,
'HTTP::Server::Simple::CGI' => 0,
'HTTP::Status' => 0,
'LWP' => 5.829,
'LWP::UserAgent' => 5.829,
'Pod::Usage' => 0,
'Test::More' => 0.34,
'Test::Warn' => 0.11,
'URI' => 1.36,
'URI::URL' => 0,
'URI::file' => 0,
},
test => { TESTS => join( ' ', @tests ) },
clean => { FILES => 'WWW-Mechanize-*' },
};
if ( $^O !~ /Win32/ ) {
}
if ( $ExtUtils::MakeMaker::VERSION ge '6.45_01' ) {
$parms->{META_MERGE} = {
resources => {
license => 'http://dev.perl.org/licenses/',
homepage => 'https://github.com/libwww-perl/WWW-Mechanize',
bugtracker => 'http://code.google.com/p/www-mechanize/issues/list',
repository => 'https://github.com/libwww-perl/WWW-Mechanize',
MailingList => 'http://groups.google.com/group/www-mechanize-users',
}
};
$parms->{LICENSE} = 'perl';
}
if ( $ExtUtils::MakeMaker::VERSION ge '6.47_02' ) {
$parms->{MIN_PERL_VERSION} = 5.008;
}
eval { require LWP; };
if (!$@) {
if ( ! LWP::Protocol::implementor('https') ) {
print <<EOT;
It looks like you don't have SSL capability (like IO::Socket::SSL) installed.
You will not be able to process https:// URLs correctly.
EOT
}
}
my @missing;
my @nice = qw( Test::Pod Test::Memory::Cycle Test::Warn Test::Taint );
for my $nice ( @nice ) {
eval "require $nice";
push( @missing, $nice ) if $@;
}
if ( @missing ) {
@missing = map { "\t$_\n" } @missing;
print <<EOT;
WWW::Mechanize likes to have a lot of test modules for some of its tests.
The following are modules that would be nice to have, but not required.
@missing
EOT
}
WriteMakefile( %$parms );
sub MY::postamble {
return <<'MAKE_FRAG';
.PHONY: tags critic
tags:
ctags -f tags --recurse --totals \
--exclude=blib \
--exclude=.svn \
--exclude='*~' \
--languages=Perl --langmap=Perl:+.t \
critic:
perlcritic -1 -q -profile perlcriticrc bin/ lib/ t/
MAKE_FRAG
}
1;