-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdist.ini
184 lines (152 loc) · 6.92 KB
/
dist.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
name = Text-Levenshtein-XS
author = ugexe <[email protected]>
license = Perl_5
copyright_holder = Nick Logan
main_module = lib/Text/Levenshtein/XS.pm
version = 0.503
[ReportPhase / Phase_Begins] ; report on everything
; -- basic dist skeleton
; gather everything in the distribution directory;
; exclude files added later via CopyFilesFromBuild
[GatherDir]
exclude_filename = Makefile.PL
exclude_filename = LICENSE
exclude_filename = cpanfile
[PruneCruft]
[AutoPrereqs] ; automatically find our prereqs
[Prereqs::AuthorDeps] ; add author prereqs to meta files as develop prereqs
[TravisYML]
post_before_install_build = cpanm -v Module::CPANTS::Analyse
post_install = cpan-install --coverage
post_after_success = coverage-report
[CPANFile] ; generate cpanfile from prereqs
; MANIFEST handling. Should I use an actual MANIFEST.SKIP file instead of generating one here?
[GenerateFile / MANIFEST.SKIP] ; make our default MANIFEST.SKIP
filename = MANIFEST.SKIP
content = # Top-level filter (only include the following...)
content = ^(MYMETA\.(?:yml|json)|Makefile|pm_to_blib|.*\.o|.*\.c|.*\.bs|blib/.*)$
content = # Avoid version control files.
content = \bRCS\b
content = \bCVS\b
content = ,v$
content = \B\.svn\b
content = \b_darcs\b
content = # (.git only in top-level, hence it's blocked above)
content = # Avoid temp and backup files.
content = ~$
content = \.tmp$
content = \.old$
content = \.bak$
content = \..*?\.sw[po]$
content = \#$
content = \b\.#
content = # avoid OS X finder files
content = \.DS_Store$
content = # ditto for Windows
content = \bdesktop\.ini$
content = \b[Tt]humbs\.db$
content = # Avoid patch remnants
content = \.orig$
content = \.rej$
[ManifestSkip] ; don't put anything in MANIFEST.SKIP in the build
skipfile = MANIFEST.SKIP
; -- Generate tons of tests
[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 (for cpan smoke testers)
[Test::Perl::Critic]
critic_config = t/perlcriticrc
[Test::DistManifest] ; tests correctness of the manifest
[Test::Version] ; figure out travis-ci/5.8 as there is no git to version ; makes sure there's a version
is_strict = 1
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::CPAN::Changes] ; test changelog conformance to CPAN standards
; -- munge files
[Prepender] ; automatically add lines following the shebang in modules
copyright = 1
; authordep Dist::Zilla::Plugin::PkgVersion = 5.012
[PkgVersion] ; add package version; die if line inserted
[PodWeaver] ; weave our POD and add useful boilerplate
[Git::Contributors] ; add x_contributors metadata
[NextRelease] ; update the Changelog
time_zone = local
filename = Changes
; -- generate/process meta-information
[Metadata]
resources.homepage = https://metacpan.org/release/Text-Levenshtein-XS
[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
url = https://github.com/ugexe/Text--Levenshtein--XS.git
web = https://github.com/ugexe/Text--Levenshtein--XS
[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] ; requires 5.10 ; get provides from package definitions in files
; meta_noindex = 1
[License] ; create LICENSE file
[MakeMaker] ; create Makefile.PL file
[MetaYAML] ; create META.yml file
[Bugtracker]
web = https://github.com/ugexe/Text--Levenshtein--XS/issues
[MetaJSON] ; create META.json file
[ReadmeFromPod] ; create README file in build
[ReadmeAnyFromPod / ReadmeMkdnInRoot] ; create markdown README file in the project root
type = markdown
location = root
[Manifest] ; create the MANIFEST file
; copy some helper files out of the build so contributors can just clone and build
[CopyFilesFromBuild]
copy = cpanfile
copy = Makefile.PL
copy = LICENSE
[PruneFiles]
match = ^XS\.(?:c|o|bs)$
match = \.(old|tmp|bak)$
; -- pre-release
; Perform Git operations after a release or build
; [Git::Check] ; check for a clean state before release; always fails because build adds new files
[CheckChangesHasContent] ; make sure you explained your changes :)
changelog = Changes
[TestRelease] ; make sure that we won't release a FAIL distro
[CheckPrereqsIndexed] ; make sure that our prereqs actually exist on CPAN
[ConfirmRelease] ; double-check that we ACTUALLY want a release
; -- testf
[RunExtraTests] ; run the xt/ tests when `dzil test --release` is run
; -- release
[UploadToCPAN] ; upload your dist to CPAN using CPAN::Uploader
; -- post-release
[ArchiveRelease] ; archive our tarballs under releases/
directory = releases
[Clean] ; run dzil clean so we have/commit no cruft
; These all require 5.10
[Git::Commit] ; commit the dzil-generated stuff (allow_dirty means commit it)
allow_dirty = README.mkdn
allow_dirty = Changes
allow_dirty = dist.ini
allow_dirty = Makefile.PL
allow_dirty = cpanfile
allow_dirty = .travis.yml
commit_msg = New CPAN release of %N - v%v%n%n%c
add_files_in = releases ; add our release tarballs to the repo
[Git::CommitBuild]
release_branch = release
message = Build of release v%v%t (%h on %b)
[Git::Tag] ; tag our new release
tag_format = v%v
tag_message = Tagged release %v
;NOTE: you'll have to tag the build manually
[Git::Push] ; automatically push to the "origin" defined in .git/config
push_to = origin
;NOTE: you'll have to push the build manually
[ReportPhase / Phase_Ends]