Где я могу найти краткое руководство по преобразованию существующего модуля CPAN для использования Dist::Zilla?
В разное время я читал как документацию, так и ряд постов в блоге на Dist:: Zilla. Я никогда не чувствовал уверенности в моем понимании этого.
В ответ на другой вопрос, @Ether поднял вопрос о возможности преобразования Crypt-SSLeay для использования Dist::Zilla
,
Итак, где я могу найти краткое руководство, показывающее, как конвертировать существующий модуль CPAN для использования Dist::Zilla
? Имеет ли этот вопрос смысл?
Обновить:
Makefile.PL
за Crypt-SSLeay
выполняет большую работу (большая часть кажется ненужной, и я пытаюсь ее обрезать), чтобы найти платформу include
а также lib
каталоги, чтобы вывести версию OpenSSL на машине, где он устанавливается. Как я могу включить эту функцию, если я использую Dist::Zilla
?
2 ответа
Это сайты, которые я нашел наиболее полезными на данный момент, так как я нахожусь в процессе преобразования дистрибутива CPAN, который я поддерживаю, чтобы использовать его в качестве учебного упражнения. Я еще не там, но я пока что не сталкивался ни с какими хитрыми хитростями!
- Официальный сайт Dist::Zilla. Выберите руководство по конвертации существующего дистрибутива.
- CPAN Dist::Zilla:: Учебное пособие
- Dave Golden's Почему я использую Dist::Zilla
Кроме того, каналы #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, который необходимо перестраивать после каждого незначительного изменения, это большая победа.