Как правильно остановить процесс сборки модуля Perl? - PullRequest
2 голосов
/ 06 января 2011

Если модуль Perl, который я создаю, имеет что-то вроде «Makefile.PL» или «Build.PL» для сборки модуля Perl, и, например, модуль требует установки определенной операционной системы или определенной библиотеки всистема, как мне написать «Makefile.PL», чтобы процесс сборки был остановлен правильно?Меня особенно интересует, какой метод требуется тестерам CPAN, чтобы модуль не выдавал результат «сбой» на http://www.cpantesters.org/.

1 Ответ

6 голосов
/ 06 января 2011

Цитировать http://wiki.cpantesters.org/wiki/CPANAuthorNotes:

«Как я могу указать, что мой дистрибутив работает только в определенной операционной системе?»

Хотя это не очень элегантное решение, рекомендуемый подход состоит в том, чтобы умереть в Makefile.PL или Build.PL (или BAIL_OUT в тестовом файле) с одним из следующих сообщений:

No support for OS
OS unsupported

Инструменты CPAN Testers найдут одну из этих фраз и отправят отчет NA (не доступно) для этой платформы.

«Как я могу прекратить получать отчеты о сбоях для отсутствующих библиотек или других не-Perl зависимостей?»

Если у вас есть особые зависимости и вы не хотите получать отчеты CPAN Testers, если зависимость недоступна, просто выйдите из Makefile.PL или Build.PL обычно (с кодом выхода 0) перед Makefile или Файл сборки создан.

exit 0 unless some_dependency_is_met();
...