1

假设我使用 . 创建了一个目录module-starter,并从那以后编写了几个额外的模块和测试。

make test然后将在中的所有模块上运行所有测试,但只会将中提到的文件打包到 tar.gz中。t/lib/make distMANIFEST

所以我最近因为跑步make test && make dist而被烧伤,但仍然得到一个破损的包裹。

我的问题是:我是否遗漏了什么,或者这可以报告为 MakeMaker 中的一个小错误?(Makefile.PL 似乎依赖于哪个)。

4

2 回答 2

5

您可以使用make disttest它将从 MANIFEST(相当于make distdir)创建一个分发目录并make test在其中运行。这可以保证您运行的文件与将要交付的文件相同。

作为发布的一部分,我还重建了我的 MANIFEST,这需要使您的 MANIFEST.SKIP 保持最新。

总而言之,我的基本发布脚本是:

perl Makefile.PL
make manifest
make disttest
make dist
于 2011-03-19T15:29:26.037 回答
3

make distcheck在发布包之前运行。这将警告您您的MANIFEST.

一些模块在构建过程中生成文件(包括 under lib/),因此在 中丢失的文件MANIFEST不一定会导致make dist失败。

于 2011-03-18T19:16:37.383 回答