CPAN-Авторство по шагам. Шаг 2.
« Предыдущий шаг
Итак, пока нас регистрируют, можно подумать о том, что-же мы будем выкладывать ;)
Думаю у вас уже есть на примете модуль, который-давно-хорошо-бы-выложить.
1. Выберем ему имя.
Для начала нужно определиться, это прагматически модуль или обычный.
Прагматический, это который похож по поведению на какую-либо из встроенных прагм (
На мой взгляд лучшие имена для обычных пакетов, это состоящие из 2х слов, одно из которх существительное, другое - прилагательное или глагол.
Также хорошо-бы посмотреть на имеющиеся на сегодняшний день, общепринятые неймспейсы, напр.
Хорошие имена существующих пакетов:
Плохие имена:
Для прагматического модуля имя должно сочетаться со словом use, быть достаточно коротким и написано в нижнем регистре.
Итак, допустим имя мы выбрали (
2. Приступим к созданию дистрибутива.
Я рекомендую на данном шаге сразу-же обзавестить системой контроля версий. Для тех, у кого нет собственной, можно воспользоваться публичными бесплатными: code.google.com (svn) или github.com (git).
Ставим Module::Starter. С ним будет установлена утилита module-starter. Запускаем без параметров, смотрим help.
Простейший вариант:
Будет создана директория Mod-Name. Это шаблон дистрибутива.
Можно залить его в таком виде в svn
Далее:
Создаем всю необходимую структуру в
Попробуем выполнить
Если тесты прошли нормально (
В слудующем шаге мы допишем Makefile.PL и допилим тесты до состояния, когда ими удобно пользоваться.
А пока пишем в модуле
(Версия с подчеркиванием обозначает, что это не стабильный релиз, а альфа/бета)
Идем проверять почту, не пришло-ли уведомление о регистрации. Если пришло, можно пойти понастраивать аккаунт :))
Hint: аватары заливаются на gravatar.com, по CPAN E-Mail'у (name@cpan.org)
Итак, пока нас регистрируют, можно подумать о том, что-же мы будем выкладывать ;)
Думаю у вас уже есть на примете модуль, который-давно-хорошо-бы-выложить.
1. Выберем ему имя.
Для начала нужно определиться, это прагматически модуль или обычный.
Прагматический, это который похож по поведению на какую-либо из встроенных прагм (
use strict, use open, use lib, ...).На мой взгляд лучшие имена для обычных пакетов, это состоящие из 2х слов, одно из которх существительное, другое - прилагательное или глагол.
Также хорошо-бы посмотреть на имеющиеся на сегодняшний день, общепринятые неймспейсы, напр.
Devel::*Хорошие имена существующих пакетов:
File::Find, Data::Dumper, HTTP::AsyncПлохие имена:
POE::Component::NonBlockingWrapper::Base - слишком длинноеMoose, Catalyst - непонятно, без прочтения описания, что это такое.Для прагматического модуля имя должно сочетаться со словом use, быть достаточно коротким и написано в нижнем регистре.
Итак, допустим имя мы выбрали (
Mod::Name).2. Приступим к созданию дистрибутива.
Я рекомендую на данном шаге сразу-же обзавестить системой контроля версий. Для тех, у кого нет собственной, можно воспользоваться публичными бесплатными: code.google.com (svn) или github.com (git).
Ставим Module::Starter. С ним будет установлена утилита module-starter. Запускаем без параметров, смотрим help.
Простейший вариант:
module-starter \
--mi \ # используем Module::Install
--module=Mod::Name \ # Указываем имя модуля
--author="Your CPAN Name" \ # Указываем свое CPAN-имя
--email="name@cpan.org" \ # И emailБудет создана директория Mod-Name. Это шаблон дистрибутива.
Можно залить его в таком виде в svn
Далее:
Создаем всю необходимую структуру в
lib/. это собственно ваш модуль.Попробуем выполнить
make test (perl Makefile.PL && make test)Если тесты прошли нормально (
) это значит, что по крайней мере 1 модуль из вашего пакета компилируется :)t/00-load.........1/1 # Testing Mod::Name 0.01, Perl 5.008009, /usr/local/bin/perl t/00-load.........ok t/boilerplate.....ok t/pod-coverage....ok t/pod.............ok All tests successful. Files=4, Tests=6, 0 wallclock secs ( 0.03 usr 0.03 sys + 0.19 cusr 0.07 csys = 0.32 CPU) Result: PASS
В слудующем шаге мы допишем Makefile.PL и допилим тесты до состояния, когда ими удобно пользоваться.
А пока пишем в модуле
$VERSION='0.01_1' и заливаем все изменения в svn.(Версия с подчеркиванием обозначает, что это не стабильный релиз, а альфа/бета)
Идем проверять почту, не пришло-ли уведомление о регистрации. Если пришло, можно пойти понастраивать аккаунт :))
Hint: аватары заливаются на gravatar.com, по CPAN E-Mail'у (name@cpan.org)