问题标签 [module-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
188 浏览

perl - 如何确保使用 Module::Build 安装没有扩展名的文件?

我正在将继承的软件集合转换为基于Module::Build的分发。

lib除了文件之外,这些目录还包含.pm模块所需的某些外部文件。.pm使用Module::Build'sadd_build_element方法很容易确保将具有扩展名的文件与文件一起复制。

但是我对如何处理没有扩展名的文件感到困惑。如何确保.pm在安装期间这些文件也与文件一起复制?有没有办法告诉Module::Build复制下的所有内容lib

0 投票
1 回答
140 浏览

windows - 如何将 Module::Build 配置为不将文件安装为只读?

我遇到了一个场景,我正在构建一个 Perl 模块作为 Windows 机器上另一个构建系统的一部分。我使用--install_baseModule::Build 的选项来指定一个临时目录来放置模块文件,直到整个构建系统可以使用它们。不幸的是,如果它所依赖的任何文件是只读的,那么其他构建系统就会出现问题 - 它会在重建之前尝试删除任何生成的文件,并且它无法清理任何只读文件(它会尝试删除它,并且它是只读的,这会产生错误。)默认情况下,Module::Build安装它的库时启用只读位。

一种选择是在构建过程中迈出新的一步,从已安装的文件中删除只读位,但由于构建工具的性​​质需要第二个临时目录......呃。

当文件安装到 --install_base 目录时,是否可以将Module::Build基于安装程序配置为不启用该只读位?如果是这样,怎么做?

0 投票
1 回答
214 浏览

perl - 什么是等同于 ExtUils::MakeMaker INST_SCRIPT 的 Module::Build?

我想将项目从使用ExtUtils::MakeMaker转换为Module::Build。由于 Makefile.PL 大部分是默认的,并且Module::Build::Convert对我不起作用(见下文),我想手动转换它,但没有找到相当于 INST_SCRIPT 将可执行文件放在 Perl 的 bin/ 目录中。

我的 WriteMakefile 看起来像这样。

我尝试使用Module::Build::Convert但 make2build 抛出我无法解决的错误:

perl 版本:

0 投票
1 回答
87 浏览

perl - Module::文件中的构建和值替换

我开始使用 Module::Build。在构建过程中,我需要在某些文件中进行值替换——根据安装位置等更改路径。

在 Module::Build 文档中找不到任何内容。我知道我可以扩展 Module::Build 来做几乎任何事情,但是有一些标准的方法可以做到这一点吗?

0 投票
3 回答
99 浏览

perl - 使用 Module::Build 的 share_dir 选项时,如何确保删除旧的共享内容?

当用户安装我的 Perl 模块时,我使用Module::Build'sshare_dir选项安装只读补充内容。

如何确保在安装新版本的模块时删除以前版本的模块添加的旧内容?

在此先感谢您的帮助。

0 投票
1 回答
47 浏览

perl - 模块::构建构建问题

使用 Module::build.

我不知道如何重用它。帮我解决这个问题(我再次在blib->lib目录中得到了相同的代码。

0 投票
1 回答
60 浏览

c - How can I have Module::Build compile and link my small C program?

I have a simple C source file in a src directory in my project. My Build.PL contains the following lines:

However, all this does is compile it to a .o file in the src directory corresponding to the C file. What I'd really like is to have it compiled and linked to form an executable, then put in my bin directory.

Is this possible and advisable with Module::Build?

0 投票
1 回答
161 浏览

perl - 如何将默认 Module::Build / Test::More 目录从“lib”更改为其他目录?

使用这篇关于 Perl 单元测试和代码覆盖率的帖子中的目录和文件架构(顺便说一句,这非常有帮助),我将运行单元测试和代码覆盖率的文件复制到一个新的“lib”目录中,它的工作方式类似于魅力!

但是,我需要该模块在现有的“脚本”目录中查找..

我已经梳理了CPAN上的 Module::Build 文档,但仍然出现Can't find file lib/processBuildSubs.pm错误

这是我到目前为止所拥有的......

更新!

也刚试过这个..

我猜有一些进展,它似乎正在寻找lib/scripts/..,但仍然不是我需要的..

更新!

有点像黑客工作,但现在它对我有用..

我运行这个脚本来更改目录名称,运行测试/覆盖并改回目录名称......有人有更好的想法吗?

0 投票
1 回答
1318 浏览

perl - Devel::Cover 合并 Perl 脚本和模块的覆盖率数据

我在合并数据以覆盖 Perl 脚本和模块时遇到问题。单独运行 Devel::Cover 工作得很好,但是当我尝试合并数据时,我丢失的只是 Perl 脚本而不是模块的统计信息。

让我解释..

我有一个看起来像这样的目录树..

在根 Code_Coverage_Test 目录中,我有 Build.pl 文件,该文件为模块和脚本构建测试,该脚本启动另外两个脚本,为我自动执行一些命令。

./Build.pl

./startTests.sh

在 lib 目录中,我有我试图在其上运行代码覆盖率的文件。

lib/testPLCoverage.pl

库/testPMCoverage.pm

在 t 目录中,我有模块的 .t 测试文件和 2 个为我启动测试的脚本。这两个脚本都由根目录中的 startTests.sh 调用

t/testPMCoverage.t

t/doPLtest.sh

t/doPMtest.sh

我遇到的问题是,当 doPLtests.sh 脚本运行时,我得到了覆盖率数据,没问题..

但是,当 doPMtest.sh 脚本完成并且 startTests.sh 脚本启动 Build testcover 命令时,我会丢失该数据并收到这些消息...

..不知何故我丢失了数据

如何结合 Perl 模块和 Perl 脚本测试以在一个文件中获得有效的代码覆盖率?

0 投票
1 回答
54 浏览

perl - 如何在没有 t/*.t 结构的情况下运行 perl 测试(t/sub_folder/*.t)

我尝试通过 Makefile.PL 或 Build.PL 收集我的代码并管理我的 perl 项目,一切顺利,我得到了 TAP 格式的正确测试结果。但是我想在 t/ 文件夹下创建一些子文件夹来收集不同的测试文件,然后我发现当我运行时make test./Build test或者prove,他们说no tests。有没有办法解决这个问题?