MakeMaker: сделать тест против сделать дист - PullRequest
1 голос
/ 18 марта 2011

Допустим, я создал каталог, используя module-starter, и с тех пор написал несколько дополнительных модулей и тестов.

make test будет затем запускать все тесты в t/ на всех модулях в lib/, однако make dist будет упаковывать только файлы, указанные в MANIFEST в tar.gz.

Так что я недавно сгорел, запустив make test && make dist и все еще получая сломанный пакет.

Мой вопрос: я что-то упустил, или это может быть сообщено как незначительная ошибка в MakeMaker?(Который, кажется, полагается на Makefile.PL).

Ответы [ 2 ]

5 голосов
/ 19 марта 2011

Вы можете использовать make disttest, который создаст каталог распространения из MANIFEST (эквивалентный make distdir) и запустит make test в этом.Это гарантирует, что вы работаете с теми же файлами, которые будут отправлены.

Я также перестраиваю свой МАНИФЕСТ в рамках подготовки к выпуску, который требует обновления вашего MANIFEST.SKIP.

В общем, мой основной скрипт выпуска:

perl Makefile.PL
make manifest
make disttest
make dist
3 голосов
/ 18 марта 2011

Запустите make distcheck перед выпуском пакета. Это предупредит вас о том, что возможно отсутствует в вашем MANIFEST.

Некоторые модули генерируют файлы во время процесса сборки (в том числе в lib/), поэтому файлы, отсутствующие в MANIFEST, не обязательно должны вызывать сбой make dist.

...