name = pmtools
author = Mark Leighton Fisher <markleightonfisher@gmail.com>
license = Perl_5
copyright_holder = Mark Leighton Fisher
copyright_year = 2013
[Prereqs]
perl = 5.008008
; version provider
[Git::NextVersion] ; get version from last release tag
version_regexp = ^release-(.+)$
; collect (newer) contributors list from Git
[ContributorsFromGit]
; choose files to include
[Git::GatherDir] ; everything from git ls-files
exclude_filename = MANIFEST ; skip this generated file
exclude_filename = Makefile.PL ; skip this generated file
exclude_filename = README ; skip this generated file
exclude_filename = README.pod ; skip this generated file
exclude_filename = META.json ; skip this generated file
[PruneCruft]
[Manifest]
[ManifestSkip]
[MetaYAML]
[License]
[Readme]
[ExecDir]
[ShareDir]
[MakeMaker]
;[TestRelease]
;[ExtraTests]
;[ConfirmRelease]
;[UploadToCPAN]
; ------------
; ------------ old version of dist.ini STARTS HERE
; ------------
;; ------
;; ------ derived from DAGOLDEN's bundle:
;; ------
;
;; version provider
;[Git::NextVersion] ; get version from last release tag
;version_regexp = ^release-(.+)$
;
;; collect contributors list
;[ContributorsFromGit]
;
;; choose files to include
;[Git::GatherDir] ; everything from git ls-files
;exclude_filename = README.pod ; skip this generated file
;exclude_filename = META.json ; skip this generated file
;
;[PruneCruft] ; default stuff to skip
;;[ManifestSkip] ; if -f MANIFEST.SKIP, skip those, too
;
;; file modifications
;[OurPkgVersion] ; add $VERSION = ... to all files
;[InsertCopyright] ; add copyright at "# COPYRIGHT"
;
;[PodWeaver] ; generate Pod
;config_plugin = @DAGOLDEN ; my own plugin allows Pod::WikiDoc
;finder = :InstallModules
;finder = :ExecFiles
;
;; generated files
;[License] ; boilerplate license
;[ReadmeAnyFromPod] ; from Pod (runs after PodWeaver)
;[ReadmeAnyFromPod / ReadmeInRoo ] ; create README.pod in repo directory
;type = pod
;filename = README.pod
;location = root
;
;;TODO tests for pmtools
;;; t tests
;;[Test::Compile] ; make sure .pm files all compile
;;fake_home = 1 ; fakes $ENV{HOME} just in case
;
;;[Test::MinimumPerl]
;;max_target_perl = 5.010
;
;;[Test::ReportPrereqs] ; show prereqs in automated test output
;
;;; xt tests
;;[Test::PodSpelling] ; xt/author/pod-spell.t
;;[Test::Perl::Critic]; xt/author/critic.t
;;[MetaTests] ; xt/release/meta-yaml.t
;;[PodSyntaxTests] ; xt/release/pod-syntax.t
;;[PodCoverageTests] ; xt/release/pod-coverage.t
;;[Test::Portability] ; xt/release/portability.t (of file name)
;;options = test_one_dot = 0
;;[Test::Version] ; xt/release/test-version.t
;
;; metadata
;[AutoPrereqs] ; find prereqs from code
;skip = ^t::lib
;
;;[Prereq]
;;Devel::Loaded = 1.40
;
;[MinimumPerl] ; determine minimum perl version
;
;[MetaNoIndex] ; sets 'no_index' in META
;directory = t
;directory = xt
;directory = examples
;directory = corpus
;package = DB ; just in case
;
;[AutoMetaResources] ; set META resources
;bugtracker.rt = 1
;repository.github = user:markleightonfisher
;homepage = https://metacpan.org/release/%{dist}
;
;[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
;
;; copy META.json back to repo dis
;[CopyFilesFromBuild]
;copy = META.json
;
;; before release
;[Git::Check] ; ensure all files checked in
;allow_dirty = dist.ini
;allow_dirty = Changes
;allow_dirty = README.pod
;allow_dirty = META.json
;
;[CheckMetaResources] ; ensure META has 'resources' data
;[CheckPrereqsIndexed] ; ensure prereqs are on CPAN
;[CheckChangesHasContent] ; ensure Changes has been updated
;[CheckExtraTests] ; ensure xt/ tests pass
;[TestRelease] ; ensure t/ tests pass
;[ConfirmRelease] ; prompt before uploading
;
;; releaser
;[UploadToCPAN] ; uploads to CPAN
;
;; after release
;[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