我有一个应用程序,我使用PerlApp分发成"二进制"形式进行分发.由于我的客户想要为他们的Win32系统进行简单的安装,这非常好用.
现在,客户已决定他们需要运行所有单元测试,例如在标准安装中.但是,他们仍然不会安装普通的Perl.
因此,我发现自己需要一种方法来打包我的单元测试以便在我的客户端系统上进行操作.
我的第一个想法是,我可以打包prove在一个文件中并分别打包我的每个测试.然后发送具有适当结构的zip文件.
一些研究表明,Test :: Harness :: Straps从命令行调用perl.
是否有现有工具可以帮助完成此过程?
也许我可以使用PAR::Packer的parl工具来处理我的测试脚本调用.
我对如何应用PAR或PerlApp以及如何处理覆盖Test :: Harness和朋友的任何想法感兴趣.
谢谢.
更新:我没有在PAR或PerlApp上设置我的心脏.这些只是我熟悉的工具.如果您有想法或解决方案需要不同的打包器(例如Cava Packager),我很乐意听到它.
更新2: tsee指出PAR中的一个很棒的新功能让我接近.是否有任何TAP专家可以提供一些想法或指示在新的Test :: Harness发行版中查看的位置?
小结问题
我是否只为每个perl脚本使用perlapp --dependent,然后确保在构建期间将perl-static复制到应用程序的bin目录(称为perl)?
背景
我目前正在分发一个包含许多perlapp独立可执行文件的应用程序,这意味着它们每个都包含perl运行时的捆绑副本.
我想在我的应用程序中只分发perl运行时的一个副本,并让每个可执行文件引用我将分发的一个perl运行时.
例如,假设我有10个构成我的应用程序的perl脚本.当我为两个演示脚本中的每一个执行perlapp时,我看到如下所示:
+ ls -l
-rw-r--r-- 1 ----- staff 55 Feb 5 21:03 t1.pl
-rw-r--r-- 1 ----- staff 62 Feb 5 21:03 t2.pl
+ perlapp --force t1.pl
PerlApp 9.5.1 build 300018
Copyright (C) 1998-2016 ActiveState Software Inc. All rights reserved.
Commercial license for ..................................
Created 't1'
+ perlapp --force t2.pl
PerlApp 9.5.1 build 300018
Copyright (C) 1998-2016 ActiveState Software Inc. All rights reserved.
Commercial license for ..................................
Created 't2'
+ ls -l
-rwxr-xr-x 1 ----- …Run Code Online (Sandbox Code Playgroud)