name    = URI
author  = Gisle Aas <gisle@activestate.com>
license = Perl_5
main_module = lib/URI.pm
copyright_holder = Gisle Aas
copyright_year   = 1998

; for version management, see the end of this file

; Gather stuff in
[Git::GatherDir]
exclude_filename = LICENSE
exclude_filename = README.md
exclude_filename = draft-duerst-iri-bis.txt
exclude_filename = rfc2396.txt
exclude_filename = rfc3986.txt
exclude_filename = rfc3987.txt

[Encoding]
encoding = latin1
filename = t/data.t
filename = t/escape.t
filename = t/http.t
filename = t/old-base.t
filename = t/pop.t
filename = t/rtsp.t
filename = uri-test

; Handle the META resources
[MetaConfig]

[MetaProvides::Package]
inherit_version = 0
inherit_missing = 0

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

[Git::Contributors]
version = 0.029
order_by = commits

[GithubMeta]
issues = 1
user = libwww-perl
[Authority]
do_munging = 0
authority = cpan:LWWWP
[Manifest]
[License]

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

[Prereqs::FromCPANfile]

[MakeMaker]

[CheckChangesHasContent]
; 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

[Test::Portability]
; TODO perltidy for NoTabs and namespace::autoclean
; [Test::CleanNamespaces] ; TODO
; [Test::NoTabs] ; TODO
; [Test::EOL] ; TODO
[MetaTests]
[Test::ChangesHasContent]
[Substitute]
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 = URI::IRI
skip = URI::_foreign
skip = URI::_idna
skip = URI::_login
skip = URI::_ldap
skip = URI::file::QNX
skip = URI::nntp
skip = URI::urn::isbn
skip = URI::urn::oid
skip = URI::sftp
trustme = URI => qr/^(?:STORABLE_freeze|STORABLE_thaw|TO_JSON|implementor)$/
trustme = URI::Escape => qr/^(?:escape_char)$/
trustme = URI::Heuristic => qr/^(?:MY_COUNTRY|uf_url|uf_urlstr)$/
trustme = URI::URL => qr/^(?:address|article|crack|dos_path|encoded822addr|eparams|epath|frag)$/
trustme = URI::URL => qr/^(?:full_path|groupart|keywords|local_path|mac_path|netloc|newlocal|params|path|path_components|print_on|query|strict|unix_path|url|vms_path)$/
trustme = URI::WithBase => qr/^(?:can|clone|eq|new_abs)$/
trustme = URI::_punycode => qr/^(?:adapt|code_point|digit_value|min)$/
trustme = URI::_query => qr/^(?:equery|query|query_form|query_form_hash|query_keywords|query_param|query_param_append|query_param_delete)$/
trustme = URI::_segment => qr/^(?:new)$/
trustme = URI::_userpass => qr/^(?:password|user)$/
trustme = URI::file => qr/^(?:os_class)$/
trustme = URI::file::Base => qr/^(?:dir|file|new)$/
trustme = URI::file::FAT => qr/^(?:fix_path)$/
trustme = URI::file::Mac => qr/^(?:dir|file)$/
trustme = URI::file::OS2 => qr/^(?:file)$/
trustme = URI::file::Unix => qr/^(?:file)$/
trustme = URI::file::Win32 => qr/^(?:file|fix_path)$/
trustme = URI::ftp => qr/^(?:password|user)$/
trustme = URI::gopher => qr/^(?:gopher_type|gtype|search|selector|string)$/
trustme = URI::ldapi => qr/^(?:un_path)$/
trustme = URI::mailto => qr/^(?:headers|to)$/
trustme = URI::news => qr/^(?:group|message)$/
trustme = URI::pop => qr/^(?:auth|user)$/
trustme = URI::sip => qr/^(?:params|params_form)$/
trustme = URI::urn => qr/^(?:nid|nss)$/

[Test::PodSpelling]
wordlist = Pod::Wordlist
spell_cmd = aspell list
stopword = Berners
stopword = etype
stopword = evalue
stopword = IDNA
stopword = ISBNs
stopword = Koster
stopword = lowercasing
stopword = Martijn
stopword = Masinter
stopword = Miyagawa
stopword = OIDs
stopword = OpenLDAP
stopword = Punycode
stopword = relativize
stopword = Tatsuhiko
stopword = TCP
stopword = TLS
stopword = UDP
stopword = UNC
stopword = uppercasing


;;; pre-release actions

[CheckStrictVersion]
decimal_only = 1

[Git::Check]
allow_dirty =

[Git::CheckFor::MergeConflicts]
[Git::CheckFor::CorrectBranch]
:version = 0.004
release_branch = master

[Git::Remote::Check]
branch = master
remote_branch = master

[TestRelease]
[RunExtraTests]

;;; release actions
[UploadToCPAN]


;;; post-release actions

[ReadmeAnyFromPod / Markdown_Readme]
source_filename = lib/URI.pm
type = markdown
filename = README.md
location = root
phase = release

; the distribution version is read from lib/URI.pm's $VERSION.
; at release, all matching versions are bumped.
; To change the release version, update *every* .pm file's
; $VERSION. You can do this easily with this oneliner (e.g. for 1.70 -> 2.00):
; perl -p -i -e's/.VERSION = .\K1.70/2.00/;' `find lib -type f`
; (and don't forget to add $VERSION = eval $VERSION; for underscore releases!)
[@Git::VersionManager]
:version = 0.003
bump_only_matching_versions = 1
commit_files_after_release = LICENSE
commit_files_after_release = README.md
release snapshot.commit_msg = %N-%v%t%n%n%c

[Git::Push]

[ConfirmRelease]
