【问题标题】:What is the correct way to stop a Perl module build process?停止 Perl 模块构建过程的正确方法是什么?
【发布时间】:2011-01-06 10:13:33
【问题描述】:

如果我创建的 Perl 模块有类似“Makefile.PL”或“Build.PL”的东西来构建 Perl 模块,例如,该模块需要安装特定的操作系统或特定的库系统,我应该如何编写“Makefile.PL”以便构建过程正确停止?我特别感兴趣的是 CPAN 测试人员需要什么方法才能使模块在http://www.cpantesters.org/ 上没有给出“失败”结果。

【问题讨论】:

  • Effective Perl Programming中有很多关于这类事情的建议。

标签: perl build module cpan


【解决方案1】:

引用http://wiki.cpantesters.org/wiki/CPANAuthorNotes

“我如何才能表明我的发行版仅适用于特定操作系统?”

虽然这不是一个非常优雅的解决方案,但推荐的方法是在 Makefile.PL 或 Build.PL(或测试文件中的 BAIL_OUT)中终止,并显示以下消息之一:

No support for OS
OS unsupported

CPAN 测试工具将查找其中一个短语,并为该平台发送一份 NA(不可用)报告。

“我如何才能停止收到关于缺少库或其他非 Perl 依赖项的 FAIL 报告?”

如果您有一些特殊的依赖项,并且不希望在依赖项不可用时获得 CPAN 测试人员报告,只需在 Makefile 或之前正常退出 Makefile.PL 或 Build.PL(退出代码为 0)即可构建文件已创建。

exit 0 unless some_dependency_is_met();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    相关资源
    最近更新 更多