Публичное репозиторий github вызывает проблемы с Dist :: Zilla - PullRequest
0 голосов
/ 31 августа 2018

У меня есть модуль, построенный с 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? Вот полный файл 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]

1 Ответ

0 голосов
/ 01 сентября 2018

Ваша запись [Bugtracker] приводит к дублированию, потому что вы также настраиваете багтрекер через [GitHub::Meta]. Выберите один или другой.

Что касается управления номерами версий, обратите внимание, что [Git::NextVersion] основано на ваших тегах git. Убедитесь, что эти теги присутствуют в вашем локальном хранилище и имеют правильный формат. Этот плагин использует вызов командной строки, подобный этому, чтобы получить все теги:

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

Публичные репозитории GitHub не должны быть проблемой для Dist :: Zilla - это именно та настройка, которую в большинстве случаев используют дистрибутивы dzil. Но взаимодействие между несколькими подключаемыми модулями может привести к трудным поискам ошибок, тем более что важен порядок подключаемых модулей. Это может помочь организовать ваши плагины по фазе, на которой они работают, и проверить, сохраняется ли проблема после удаления дополнительных плагинов. Также лучше начать с простого dist.ini и добавлять плагины, когда болевые точки в процессе разработки становятся очевидными.

...