name = libwww-perl
author = Gisle Aas <gisle@activestate.com>
license             = Perl_5
copyright_holder    = Gisle Aas
copyright_year      = 1995

[Git::GatherDir]
exclude_filename = LICENSE
exclude_filename = META.json
exclude_filename = README.md

[MetaConfig]
[MetaProvides::Package]
[MetaNoIndex]
directory = t
directory = xt
[MetaYAML]
[MetaJSON]
[MetaResources]
x_IRC = irc://irc.perl.org/#lwp
x_MailingList = mailto:libwww@perl.org

[Deprecated]
module = LWP::Debug

[Git::Contributors]
[GithubMeta]
issues = 1
user = libwww-perl
[Manifest]
[License]
[InstallGuide]
:version = 1.200013

; make the bin dir executables
[ExecDir]
; [ShareDir]

[Prereqs::FromCPANfile]

[DynamicPrereqs]
:version = 0.039
; HTTP::Status 6.17 was buggy
-body = requires('HTTP::Status', '6.18') if has_module('HTTP::Status', '6.17');

[MakeMaker::Awesome]
:version = 0.27
delimiter = |
header = |use Getopt::Long qw(GetOptions);
header = |GetOptions(\my %opt,
header = |   'aliases',
header = |   'no-programs|n',
header = |) or do {
header = |    die "Usage: $0 [--aliases] [--no-programs]\n";
header = |};
header = |my @prog;
header = |push(@prog, qw(lwp-request lwp-mirror lwp-download lwp-dump))
header = |    unless $opt{'no-programs'} || grep /^LIB=/, @ARGV;
header = |if ($opt{'aliases'} && grep(/lwp-request/, @prog)) {
header = |    require File::Copy;
header = |    for (qw(GET HEAD POST)) {
header = |        File::Copy::copy("bin/lwp-request", "bin/$_") || die "Can't copy bin/$_";
header = |        chmod(0755, "bin/$_");
header = |        push(@prog, $_);
header = |    }
header = |}
WriteMakefile_arg = EXE_FILES => [ map "bin/$_", @prog ]

; TODO strict and warnings to quiet the kwalitee tests
; [Test::Kwalitee]
; filename = xt/author/kwalitee.t
[MojibakeTests]
[Test::Version]
[Test::ReportPrereqs]

[Test::Compile]
bail_out_on_fail = 1
xt_mode = 1
; avoid failing on 5.8: Warning: Use of "keys" without parentheses is ambiguous at Data/Dump/Trace.pm line 262.
[Substitute / 00-compile.t]
file = xt/author/00-compile.t
code = s{(is\(scalar\(\@warnings\), 0, 'no warnings found'\))}{TODO: \{\nlocal \$TODO = 'Data::Dump::Trace warns on 5.8' if \$\] < '5.009';\n$1};
code = s{(^\s+or diag 'got warnings: ', explain\(\\\@warnings\);)}{$1\n\}};

[Test::Portability]
; TODO perltidy for NoTabs and namespace::autoclean
; [Test::CleanNamespaces] ; TODO
; [Test::NoTabs] ; TODO
[Test::EOL]

; We run release tests in travis. but make the changes-has-content test TODO only for master.
; This will prod pull request submitters to add a Changes entry.
[Test::ChangesHasContent]
[Substitute / changes_has_content.t]
file = xt/release/changes_has_content.t
code = s{^(note 'Checking Changes')}{if \(\(\$ENV\{TRAVIS_PULL_REQUEST\} \|\| '') eq 'false'\) \{\n  chomp\(my \$branch_name = \(\$ENV\{TRAVIS_BRANCH\} || \`git rev-parse --abbrev-ref HEAD\`\)\);\n  \$TODO = 'Changes need not have content for this release yet if this is only the master branch'\n    if \(\$branch_name \|\| ''\) eq 'master';\n\}\n\n$1}

[Test::MinimumVersion]
[PodSyntaxTests]

[Test::Pod::Coverage::Configurable]
skip = LWP
skip = LWP::Debug
skip = LWP::Debug::TraceHTTP
skip = LWP::Authen::Basic
skip = LWP::Authen::Digest
skip = LWP::Authen::Ntlm
skip = LWP::DebugFile
trustme = LWP::UserAgent => qr/^(?:run_handlers|send_request|use_alarm|use_eval)$/
trustme = LWP::Protocol => qr/^(?:max_size|timeout)$/
trustme = LWP::Protocol::http => qr/^(?:hlist_remove|socket_class|socket_type)$/
trustme = LWP::Protocol::gopher => qr/^(?:gopher2url|menu2html)$/
trustme = LWP::RobotUA => qr/^host_count$/

[Test::PodSpelling]
wordlist = Pod::Wordlist
spell_cmd = aspell list
stopword = afPuUsSedvhx
stopword = Accomazzi
stopword = Alexandre
stopword = Andreas
stopword = Asplund
stopword = Betts
stopword = Bochner
stopword = BooK
stopword = Buenzli
stopword = Chamas
stopword = Coppit
stopword = Dalgleish
stopword = Dubois
stopword = Dunkin
stopword = Duret
stopword = Dvornik
stopword = Eldridge
stopword = Gertjan
stopword = Graaff
stopword = Greab
stopword = Guenther
stopword = Gurusamy
stopword = Gustafsson
stopword = Hakanson
stopword = Harald
stopword = Hedlund
stopword = Hoblitt
stopword = Hwa
stopword = INOUE
stopword = Joao
stopword = Joerg
stopword = Kaminsky
stopword = Kartik
stopword = Katsuhiro
stopword = Kebsch
stopword = Keiichiro
stopword = Kilzer
stopword = Klar
stopword = Koster
stopword = König
stopword = KONISHI
stopword = Kronengold
stopword = Krüger
stopword = Kubb
stopword = Laker
stopword = Langfeldt
stopword = Langheinrich
stopword = Liam
stopword = Lindley
stopword = Lotterer
stopword = Lutz
stopword = MacEachern
stopword = Macdonald
stopword = Marko
stopword = Markus
stopword = Martijn
stopword = McCauley
stopword = Melchner
stopword = Moshe
stopword = Murrell
stopword = Nagano
stopword = Nicolai
stopword = Nierstrasz
stopword = Olly
stopword = Oosten
stopword = Panchenko
stopword = Pimlott
stopword = Pon
stopword = Quaranta
stopword = Radoslaw
stopword = Radu
stopword = Rai
stopword = Rezic
stopword = Sarathy
stopword = Schilli
stopword = Schinder
stopword = Shirazi
stopword = Skyttä
stopword = Slaven
stopword = Spafford
stopword = Stosberg
stopword = Subbarao
stopword = Takanori
stopword = Thoennes
stopword = Thurn
stopword = Tilly
stopword = Ugai
stopword = Unger
stopword = VanHeyningen
stopword = Vandewege
stopword = Ville
stopword = Yitzchak
stopword = Yoshinari
stopword = Zajac
stopword = Zakharevich
stopword = Zielinski
stopword = Zoest
stopword = CPAN
stopword = CGI
stopword = UserAgent
stopword = UA
stopword = RobotUA
stopword = NTLM
stopword = NNTP
stopword = TCP
stopword = WireShark
stopword = Yee
stopword = shildreth
stopword = Newby
stopword = Mailto
stopword = peterm
stopword = de
stopword = erik
stopword = getprint
stopword = getstore

[Git::Check]
allow_dirty =

[CheckStrictVersion]
decimal_only = 1

[RunExtraTests]
[CheckChangeLog]
[CheckChangesHasContent]
[TestRelease]

[UploadToCPAN]

; Create Readme
[ReadmeAnyFromPod / Markdown_Readme]
source_filename = lib/LWP/UserAgent.pm
type = markdown
filename = README.md
location = root
phase = release

[CopyFilesFromRelease]
filename = META.json
filename = LICENSE

; The distribution version is read from lib/LWP.pm's $VERSION.
; At release, all versions are bumped.
; To change the version at release time, you can either edit LWP.pm's
; $VERSION, or set the V environment variable, e.g. V=1.23 dzil release
[@Git::VersionManager]
commit_files_after_release = META.json
commit_files_after_release = LICENSE
commit_files_after_release = README.md

[Git::Push]

; listed late, to allow all other plugins which do BeforeRelease checks to run first.
[ConfirmRelease]