1#!/usr/bin/perl -w 2 3# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2017 Kevin Ryde 4 5# This file is part of Perl-Critic-Pulp. 6 7# Perl-Critic-Pulp is free software; you can redistribute it and/or 8# modify it under the terms of the GNU General Public License as published 9# by the Free Software Foundation; either version 3, or (at your option) any 10# later version. 11# 12# Perl-Critic-Pulp is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 15# Public License for more details. 16# 17# You should have received a copy of the GNU General Public License along 18# with Perl-Critic-Pulp. If not, see <http://www.gnu.org/licenses/>. 19 20use 5.006; 21use strict; 22use warnings; 23use ExtUtils::MakeMaker; 24 25WriteMakefile 26 (NAME => 'Perl::Critic::Pulp', 27 ABSTRACT => 'Some add-on policies for Perl::Critic.', 28 VERSION_FROM => 'lib/Perl/Critic/Pulp.pm', 29 AUTHOR => 'Kevin Ryde <user42_kevin@yahoo.com.au>', 30 LICENSE => 'gpl_3', 31 SIGN => 1, 32 MIN_PERL_VERSION => '5.006', 33 34 PREREQ_PM => { 35 # 1.220 for its incompatible PPI::Statement::Sub->prototype() 36 'PPI' => '1.220', 37 'PPI::Document' => 0, 38 # actually PPI::Dumper only used in the .t scripts if 39 # there's an error ... 40 'PPI::Dumper' => 0, 41 42 # 1.082 or some such for new style parameter specs 43 # 1.084 for highest_explicit_perl_version() method 44 'Perl::Critic' => '1.084', 45 # parts of Perl::Critic, used so name them explicitly 46 'Perl::Critic::Policy' => '1.084', 47 # Utils 1.100 for precedence_of() supporting -f etc filetests 48 'Perl::Critic::Utils' => '1.100', 49 'Perl::Critic::Utils::PPI' => 0, 50 'Perl::Critic::Violation' => 0, 51 52 # Required by Perl::Critic itself anyway. 53 # 1.02 for avoiding leaks in perl 5.8, probably 54 # something newer has more merit though 55 'IO::String' => '1.02', 56 57 # Also used by Perl::Critic itself. Maybe should 58 # require 0.24 for various XS bugfixes. 59 'List::MoreUtils' => '0.24', # 0.24 for stack growing, maybe 60 61 # Could make this optional, but it doesn't drag in anything 62 # outrageous. 63 'Pod::MinimumVersion' => 50, # v.50 fix text in =item etc 64 65 # Builtin in recent perl anyway. 66 'List::Util' => 0, 67 'Test::More' => 0, 68 'Scalar::Util' => 0, 69 70 # Required by Perl::Critic itself anyway, 71 # and comes with perl 5.10 anyway too. 72 'version' => 0, 73 74 'Pod::Escapes' => 0, 75 'Pod::Parser' => 0, 76 'Pod::ParseLink' => 0, 77 }, 78 79 META_MERGE => 80 { 'meta-spec' => { version => 2 }, 81 resources => 82 { homepage => 'http://user42.tuxfamily.org/perl-critic-pulp/index.html', 83 license => 'http://www.gnu.org/licenses/gpl.html', 84 }, 85 # don't index "package Perl::MinimumVersion" additions there 86 no_index => { package => [ 'Perl::MinimumVersion' ], 87 directory=>['devel','xt'], 88 }, 89 90 recommends => { 'Perl::MinimumVersion' => 0, 91 }, 92 prereqs => 93 { test => 94 { suggests => 95 { 'Perl::MinimumVersion' => 0, 96 }, 97 }, 98 }, 99 100 optional_features => 101 { maximum_policies => 102 { description => 'Have the policies check as much as possible.', 103 prereqs => 104 { runtime => 105 { requires => { 'Perl::MinimumVersion' => 0, 106 }, 107 }, 108 }, 109 }, 110 }, 111 }, 112 ); 113 114 115# maximum_devel => 116# { description => 'Stuff used variously for development.', 117# requires => { 'PPI::Document' => 0, 118# 'Perl::MinimumVersion' => 0, 119# 'Encode' => 0, 120# 'Perl6::Slurp' => 0, 121# 'Regexp::Common' => 0, 122# 'Devel::Mallinfo' => 0, 123# 'IO::Uncompress::AnyInflate' => 0, 124# 'lib::abs' => 0, 125# 'IO::String' => 0, 126# 'Digest::MD5' => 0, 127# 'I18N::Langinfo' => 0, 128# 'Locale::TextDomain' => 0, 129# 'File::Locate' => 0, 130# 131# 'File::Locate::Iterator' => 0, # mine 132# # parts of File::Locate::Iterator 133# 'Iterator::Simple' => 0, 134# 'Iterator::Simple::Locate' => 0, 135# }, 136# }, 137