name = App-psst
license = Perl_5

; I wrote the proof-of-concept and some of the code at $work so
; copyright_holder might be debatable, probably not important.
copyright_holder = Wellcome Trust Sanger Institute

[MetaResources]
homepage = https://github.com/mca-wtsi/psst
repository.url = git://github.com/mca-wtsi/psst
repository.web = https://github.com/mca-wtsi/psst
repository.type = git

;;; This is still relevant, but I don't see how to tell dzil about it.
;   Not present in v1.4 meta spec?
;
; optional_features:
;   config:
;     description:  Ability to read ~/.psst.yaml
;     requires:
;       YAML:  0.71

[GatherDir]
include_dotfiles = 1 ; for t/*/.psst.yaml
exclude_match = ^\.git(ignore|/.*)$
exclude_match = (^|/)#[^/]+#$ ; emacs autosave
exclude_match = ~$ ; emacs backup

[ExecDir]

[PruneCruft]
[MinimumPerl] ; with Perl::MinimumVersion
[Bugtracker] ; rt.cpan.org
[MetaYAML]
[MakeMaker]
[Manifest]


[Prereqs]
local::lib = 1.008 ; for PERL_LOCAL_LIB_ROOT

[Prereqs / TestRequires]
Test::More = 0
Time::HiRes = 1.9724 ; 1.9715 suspect, 1.9724 deps not onerous
YAML = 0 ; for formatting test data - still optional for running


[Git::DescribeVersion] ; take version from preceding tag
first_version= ; do not imagine up a new version (I want an error)
; version = last version, plus commit-count in a minor position; manual bump
;[Git::NextVersion]
; version = last tagged version plus one


;;; FileGatherer again / InjectFiles / munge

[License] ; (full text)

[ReadmeAnyFromPod / ForSource]
type = pod
filename = README.pod
location = root

[ReadmeAnyFromPod / ForDist]
type = text
filename = README
location = build

[Test::Perl::Critic]
[PodSyntaxTests]
[HasVersionTests] ; add xt/release/has-version.t for Test::HasVersion
[ExtraTests] ; move ./xt/$some to ./t/ with %ENV guard

[PodVersion] ; add =head1 VERSION after NAME
[PkgVersion]
; or [OurPkgVersion], which needs telling where but doesn't add lines


[GitFmtChanges]


;;; AfterBuild

[Git::CommitBuild] ; and AfterRelease, if we wanted
; commit the build result to branch built/master
branch = built/%b
message = Build results of %v (%h on %b)

[Run::AfterBuild]
; PodVersion has already included the (ever-changing) version section.
; Hack it out to prevent copious diffs.
run = perl -i -0pe 's{\n*=head1 VERSION\n+version [0-9._]+$}{}sm' README.pod


;;; BeforeRelease

[Git::Check]
; prevent release if working copy is mucky
allow_dirty =

[TestRelease] ; run all tests before release
[ConfirmRelease]

[Git::Tag]
tag_message = v%v built with dzil %{yyyy-MM-dd HH:mm:ss}d
; tagging happens after release
; [Git::Tag::ForRelease] can also do this, with different options


;;; Release

; [Rsync] ; upload distribution tarball
[UploadToCPAN]

; [ArchiveRelease] ; Move it somewhere.  Do this after other releasers.


;;; AfterRelease

; [Git::Commit] to commit changes, after release

; [Git::Push]
;; not ready for autopush yet