name    = Lingua-Interset
author  = Dan Zeman <zeman@ufal.mff.cuni.cz>
license = Perl_5
copyright_holder = Univerzita Karlova v Praze (Charles University in Prague)
copyright_year   = 2014

; Plugins to gather the files.
[GatherDir]    ; if we do not provide parameters it will collect everything in the current folder
exclude_match = ^(bin|cgi|doc)/.*
exclude_match = ^lib/tagset.*
exclude_match = ^morphcon-related-stuff/.*
exclude_match = ^Lingua-Interset.*
[MinimumPerl]  ; detects the minimum Perl version needed to run my code
[AutoPrereqs]  ; looks for use and require statements to figure out prerequisities
[PruneCruft]   ; excludes auxiliary files that should not be distributed
[ManifestSkip] ; excludes files that appear in a MANIFEST.SKIP file
[MetaYAML]     ; produces the file META.yml, wanted by CPAN
[License]      ; produces the LICENSE file
[Readme]       ; produces the README file
[Test::Perl::Critic] ; adds a test for bad code (in the author testing section)

; Plugins to modify the (distributed copies of the) files.
; I used to use OurPkgVersion but it meant that I did not have version numbers in my development branch and could not test it with Treex.
[RewriteVersion] ; takes version from main module, makes it the version of the release and enforces it in all modules
                 ; Use environment variable to bump version e.g. to '3.000'. Invoke: V=3.000 dzil release
; NextRelease acts *during* pre-release to write $VERSION and
; timestamp to Changes and  *after* release to add a new {{$NEXT}}
; section (during build it affects the in-memory file, after release it changes the local copy).
; Someone said on the net that it must come after Commit_Dirty_Files and before Commit_Changes
; in the dist.ini, to act at the right time after release, and that it will still act during
; pre-release as usual. Unfortunately this did not work for me. After moving NextRelease from
; the pre-release section it no longer updated the changelog in the repository
; (it did update the changelog in the release and on the disk but the update was not included in the commit with the tag).
[NextRelease] ; writes version number of the release to my changelog file
filename = Changes.txt
[CopyChanges]   ; MY OWN PLUGIN, unpublished! Copies Changes.txt to Changes so that metacpan.org finds it
[PodWeaver]     ; resturctures and completes the POD documentation
[Pod2Html]      ; extracts POD and converts it to HTML documentation, included in distribution
[ExtraTests]    ; 'xt' tests are rewritten as 't' tests but skipped unless corresponding environment variables are set

; Plugins to prepare the Makefile.
[ExecDir]   ; ensures that the contents of the 'bin' folder gets installed as executables
[ShareDir]  ; ensures that the contents of the 'share' fodler gets installed as "ShareDir" content
[MakeMaker] ; produces Makefile.PL for the distribution
[Manifest]  ; produces MANIFEST file (list of files in distribution); must be included after all other files are created

; Plugins to test the thing and let it out.
[TestRelease]    ; extracts tarball and tests the release (sets environment: RELEASE_TESTING and AUTHOR_TESTING)
[ConfirmRelease] ; interactive: are sure you want to proceed?
[UploadToCPAN]   ; no way back now...

; AfterRelease plugins
; Commit source files as of "dzil release" with any allowable modifications (e.g Changes).
; I have not found any explanation of the part after the slash ("Commit_Dirty_Files") but perhaps it is just an alias to show in the log?
[Git::Commit / Commit_Dirty_Files] ; commit files/Changes (as released)
changelog = Changes.txt
[Git::Tag] ; tags current git revision by the release version number
[BumpVersionAfterRelease] ; increment version number in all modules
; commit source files after modification
[Git::Commit / Commit_Changes] ; commit Changes (for new dev)
allow_dirty_match = ^lib/
commit_msg = Commit Changes and bump $VERSION
[Git::Push]
