name    = Soar-WM
author  = Nathan Glenn <garfieldnate@gmail.com>
license = Perl_5
copyright_holder = Nathan Glenn
copyright_year   = 2012
version = 0.04

[ReportPhase / Phase_Begins] 	; report on everything

; start off by bumping the version
; [Git::NextVersion]				; use Git for making version numbers
; first_version = 0.1.0
; version_regexp  = ^v(.+)$

; basic dist skeleton
[GatherDir]                     ; we start with everything in the dist dir
[PruneCruft]                    ; automatically prune cruft defined by RJBS
[AutoPrereqs]                   ; automatically find our prereqs
; [ManifestSkip]                  ; skip files that matches MANIFEST.SKIP
; skipfile = MANIFEST.SKIP
;content = xxxx

; Generate tons of tests
[ReportVersions::Tiny]			; report module versions used during installation
[Test::Compile]                 ; Create a t/00-compile.t file that auto-compiles every module in the dist
fake_home = 1                   ; fakes $ENV{HOME} just in case
[Test::Perl::Critic]
critic_config = t/perlcriticrc
[Test::DistManifest]			; tests correctness of the manifest
[Test::Version]					; makes sure there's a version
is_strict   = 0
has_version = 1
[MetaTests]				; test meta.yml
[Test::CPAN::Meta::JSON]		; test meta.json
[Test::MinimumVersion]			; tests for a minimum version
[MojibakeTests]					; test file encodings
[PodCoverageTests]			; test pod coverage
[PodSyntaxTests]				; test pod syntax
[Test::Portability]				; test portability of file names
; [Test::Synopsis]				; make sure the synopsis is compilable ;doesn't work with heredocs
[Test::UnusedVars]				; find unused variables
[Test::Pod::LinkCheck]			; find broken links
[Test::CPAN::Changes]			; test changelog conformance to CPAN standards
; [Test::EOL]					; not supported on Windows
; [Test::Kwalitee]				; not supported on Windows

; file mungers
[Prepender]                     ; automatically add lines following the shebang in modules
copyright = 1
; line = use strict; use warnings;
[OurPkgVersion]					; "our $VERSION = $version" in main module
[PodWeaver]                     ; weave our POD and add useful boilerplate
; config_plugin = @Apocalyptic
; [LocaleMsgfmt]                  ; compile .po files to .mo files in share/locale
; locale = share/locale      

; update the Changelog
[NextRelease]
time_zone = UTC
filename = Changes
; format = %v%n%tReleased: %{yyyy-MM-dd HH:mm:ss VVVV}d
; [ChangelogFromGit]              ; generate CommitLog from git history
; tag_regexp = ^release-(.+)$
; file_name = CommitLog

; generate/process meta-information
[ExecDir]                       ; automatically install files from bin/ directory as executables ( if it exists )
dir = bin
[ShareDir]                      ; automatically install File::ShareDir files from share/ ( if it exists )
dir = share
[MinimumPerl]                   ; automatically find the minimum perl version required and add it to prereqs
[Bugtracker]                    ; set bugtracker to http://rt.cpan.org/Public/Dist/Display.html?Name=$dist
[Homepage]                      ; set homepage to http://search.cpan.org/dist/$dist/
[MetaConfig]                    ; dump dzil config into metadata
[MetaData::BuiltWith]           ; dump entire perl modules we used to build into metadata
[Repository]                    ; set git repository path by looking at git configs
git_remote = origin
[MetaResources]                 ; add arbitrary resources to metadata
license = http://dev.perl.org/licenses/

; generate meta files
[MetaNoIndex]                   ; tell PAUSE to not index those directories
directory = inc t xt examples share eg mylib
[MetaProvides::Package]         ; get provides from package definitions in files
meta_noindex = 1
[License]                       ; create LICENSE file
[MakeMaker]                     ; create Makefile.PL file
[ModuleBuild]                   ; create Build.PL file
[DualBuilders]                  ; have M::B and EU::MM but select only M::B as prereq
prefer = build
[MetaYAML]                      ; create META.yml file
[GithubMeta] 					; include Git info in Meta.yml
[MetaJSON]                      ; create META.json file
[ReadmeFromPod]                 ; create README file
[ReadmeMarkdownFromPod] 		; for Git's README file
[InstallGuide]                  ; create INSTALL file
;[Signature]                     ; not supported on Windows yet... ; create SIGNATURE file when we are releasing ( annoying to enter password during test builds... )
; sign = archive
[Manifest]                      ; finally, create the MANIFEST file

; -- pre-release
[CheckChangesHasContent]        ; make sure you explained your changes :)
changelog = Changes
; [Git::Check]                    ; check working path for any uncommitted stuff ( exempt Changes because it will be committed after release )
; changelog = Changes
[TestRelease]                   ; make sure that we won't release a FAIL distro :)
; [ExtraTests]					; rewrite xt/ tests into t/ directory.
[RunExtraTests]					; run the xt/ tests when dzil test is run.
; [CheckExtraTests]   ; ensure xt/ tests pass
[CheckPrereqsIndexed]           ; make sure that our prereqs actually exist on CPAN
[ConfirmRelease]                ; double-check that we ACTUALLY want a release, ha!

; -- release
[UploadToCPAN]                  ; upload your dist to CPAN using CPAN::Uploader

; -- post-release
[ArchiveRelease]                ; archive our tarballs under releases/
directory = releases
; [Git::Commit]                   ; commit the dzil-generated stuff (Changelog, dist.ini)
; changelog = Changes
; commit_msg = New CPAN release of %N - v%v%n%n%c
; time_zone = UTC
; add_files_in = releases         ; add our release tarballs to the repo
; [Git::Tag]                      ; tag our new release
; tag_format = release-%v
; tag_message = Tagged release-%v
; [Git::Push]                     ; automatically push to the "origin" defined in .git/config
; push_to = origin
[Clean]                         ; run dzil clean so we have no cruft :)

[ReportPhase / Phase_Ends]