Где я могу найти краткое руководство по преобразованию существующего модуля CPAN для использования Dist::Zilla?

В разное время я читал как документацию, так и ряд постов в блоге на Dist:: Zilla. Я никогда не чувствовал уверенности в моем понимании этого.

В ответ на другой вопрос, @Ether поднял вопрос о возможности преобразования Crypt-SSLeay для использования Dist::Zilla,

Итак, где я могу найти краткое руководство, показывающее, как конвертировать существующий модуль CPAN для использования Dist::Zilla? Имеет ли этот вопрос смысл?

Обновить:

Makefile.PL за Crypt-SSLeay выполняет большую работу (большая часть кажется ненужной, и я пытаюсь ее обрезать), чтобы найти платформу include а также lib каталоги, чтобы вывести версию OpenSSL на машине, где он устанавливается. Как я могу включить эту функцию, если я использую Dist::Zilla?

2 ответа

Решение

Это сайты, которые я нашел наиболее полезными на данный момент, так как я нахожусь в процессе преобразования дистрибутива CPAN, который я поддерживаю, чтобы использовать его в качестве учебного упражнения. Я еще не там, но я пока что не сталкивался ни с какими хитрыми хитростями!

Кроме того, каналы #toolchain и #distzilla на irc.perl.org полны полезных людей, включая авторов Dist::Zilla и других связанных инструментов.

В Dist::Zilla Choose Your Own Tutorial есть страница по преобразованию Dist в Dist:: Zilla. Единственное, что здесь не упоминается, это мой плагин VersionFromModule, который полезен, если вы хотите повторить то, как многие люди используют MakeMaker, а дистрибутив берет свой номер версии из основного модуля. (Многие люди используют dzil другим способом, с версией в dist.ini и плагин, чтобы вставить его в модуль, но в любом случае работает.)

Если мне нужен более сложный Makefile.PL, чем тот, который генерирует dzil, я переключаюсь на Module:: Build и использую свой плагин ModuleBuild:: Custom, который позволяет мне написать свой собственный Build.PL и получить метаданные dzil как предварительные условия.

Плагин MakeMaker:: Awesome позволяет сделать что-то похожее с Makefile.PL, но это было не совсем то, что я хотел. Вместо этого я написал плагин MakeMaker:: Custom, который работает так же, как мой плагин ModuleBuild:: Custom. Большим преимуществом MakeMaker:: Custom перед MakeMaker:: Awesome является то, что он позволяет создавать дистрибутив для тестирования без необходимости делать dzil build, Для модуля XS, который необходимо перестраивать после каждого незначительного изменения, это большая победа.

Другие вопросы по тегам