使用github repo public会导致Dist :: Zilla出现问题

问题描述 投票:1回答:1

我有一个用Dist::Zilla构建的模块。我有Dist::Zilla设置为自动推送更改到我的GitHub仓库。当回购私有时,效果很好。

但是,只要我公开回购,我就会在构建过程中遇到错误。具体来说,这些线在dist.ini

[Bugtracker]
web = http://github.com/myaccount/%s/issues

如果我注释掉这些行,它就可以了。留下这些行后,我收到一个错误:

Duplication of element resources.bugtracker.web at /Users/me/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.4/Dist/Zilla.pm line 595.

好的,很好,我注释掉了。然而,另一个问题出现了。我的构建版本号不再自动增量,并且每次尝试发布构建时都会停留在相同的编号。

是否有一些配置设置我需要改变与Dist :: Zilla,所以它将与公共github repos很好玩?这是完整的dist.ini文件:

name    = Module-Test
author  = me
license = Perl_5
copyright_holder = Me
copyright_year   = 2018

[Repository]
;[Bugtracker]
;web = http://github.com/sdondley/%s/issues
[Git::NextVersion]
[GitHub::Meta]
[PodVersion]
[PkgVersion]
[NextRelease]
[Run::AfterRelease]
run = mv Changes tmp && cp %n-%v/Changes Changes
[InstallGuide]

[PodWeaver]
[ReadmeAnyFromPod]
type = markdown
location = root
phase = release

[Git::Check]
[Git::Commit]
allow_dirty = README.mkdn
allow_dirty = Changes
allow_dirty = INSTALL
[Git::Tag]
[Git::Push]
[Run::AfterRelease / MyAppAfter]
run = mv tmp/Changes Changes

[GatherDir]
[AutoPrereqs]
[PruneCruft]
[PruneFiles]
filename = weaver.ini
filename = README.mkdn
filename = dist.ini
filename = .gitignore
[ManifestSkip]
[MetaYAML]
[License]
[Readme]
[ExtraTests]
[ExecDir]
[ShareDir]
[MakeMaker]
[Manifest]
[TestRelease]
[FakeRelease]
perl github dist-zilla
1个回答
4
投票

你的[Bugtracker]条目导致重复,因为你也通过[GitHub::Meta]设置bugtracker。选择其中一个。

至于版本号管理,请注意[Git::NextVersion]基于您的git标签。确保这些标记存在于本地存储库中并具有正确的格式。该插件使用与此类似的命令行调用来获取所有标记:

git rev-list --simplify-by-decoration --pretty=%d HEAD | grep -oE 'tag: [^,)\s]+'

公共GitHub回购不应该是Dist :: Zilla的问题 - 这正是大多数dzil发行版使用的设置。但是,多个插件之间的交互可能导致难以追踪错误,特别是因为插件的顺序很重要。它可以帮助您根据运行阶段组织插件,并在删除可选插件后测试问题是否仍然存在。从简单的dist.ini开始并添加插件往往更好,因为在开发过程中的痛点变得明显。

© www.soinside.com 2019 - 2024. All rights reserved.