The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
name    = WWW-GitHub-PostReceiveHook
author  = Matt Phillips <mattp@cpan.org>
abstract = A simple Web::Simple wrapper for GitHub's PostReceive hooks
license = Perl_5
copyright_holder = Matt Phillips
copyright_year   = 2011


; DAGOLDEN bundle works well enough
; version provider
[Git::NextVersion]  ; get version from last release tag
first_version = 0.001
version_regexp = ^release-(.+)$

; choose files to include
[GatherDir]         ; everything under top dir
[PruneCruft]        ; default stuff to skip
[PruneFiles]
match     = .swp$
[ManifestSkip]      ; if -f MANIFEST.SKIP, skip those, too

; file modifications
[PkgVersion]        ; add $VERSION = ... to all files
[Prepender]         ; prepend a copyright statement to all files
[PodWeaver]         ; generate Pod

; generated files
[License]           ; boilerplate license
[ReadmeFromPod]

[Prereqs]
Web::Simple = 0.008
[AutoPrereqs]       ; find prereqs from code
[MinimumPerl]       ; determine minimum perl version

[Repository]        ; set 'repository' in META
git_remote = origin ;   - remote to choose
github_http = 0     ;   - for github, use git:// not http://

; overrides [Repository] if repository is on github
[GithubMeta]
remote = origin     ; better than [Repository]; sets homepage, too

[MetaNoIndex]       ; sets 'no_index' in META
directory = t
directory = xt
directory = examples

[Bugtracker]        ; defaults to RT

[MetaProvides::Package] ; add 'provides' to META files
meta_noindex = 1        ; respect prior no_index directives

[MetaYAML]          ; generate META.yml (v1.4)
[MetaJSON]          ; generate META.json (v2)

; build system
[ExecDir]           ; include 'bin/*' as executables
[ShareDir]          ; include 'share/' for File::ShareDir
[MakeMaker]         ; create Makefile.PL

; manifest (after all generated files)
[Manifest]          ; create MANIFEST

; before release
[Git::Check]        ; ensure all files checked in
allow_dirty = dist.ini
allow_dirty = README
allow_dirty = README.md
[CheckPrereqsIndexed]    ; ensure prereqs are on CPAN
[CheckChangesHasContent] ; ensure Changes has been updated
[TestRelease]       ; ensure t/ tests pass
[ConfirmRelease]    ; prompt before uploading

; releaser
[UploadToCPAN]      ; uploads to CPAN

; after release
[ReadmeAnyFromPod / ReadmePodInRoot]
type = markdown
filename = README.md
location = root

[Git::Commit / Commit_Dirty_Files] ; commit Changes (as released)

[Git::Tag]          ; tag repo with custom tag
tag_format = release-%v

; NextRelease acts *during* pre-release to write $VERSION and
; timestamp to Changes and  *after* release to add a new {{$NEXT}}
; section, so to act at the right time after release, it must actually
; come after Commit_Dirty_Files but before Commit_Changes in the
; dist.ini.  It will still act during pre-release as usual

[NextRelease]

[Git::Commit / Commit_Changes] ; commit Changes (for new dev)

[Git::Push]         ; push repo to remote
push_to = origin