代码之家  ›  专栏  ›  技术社区  ›  nponeccop

有没有一个跨平台的方式来建立一个分销?

  •  1
  • nponeccop  · 技术社区  · 6 年前

    我正在编写一个CI脚本来构建位于GitHub的Perl库。

    现在我这样做:

    cpanp i Module::Install # and other configure dependencies  
    perl Makefile.PL
    make dist
    cpanp i Foo-Bar-6.66.tar.gz
    
    • 我想为我构建的所有依赖项创建一个PAR包。这就是我使用cpanp的原因。
    • 不像 cpanm . , cpanp i . 是错误的,使用目录名来命名发行版,这是不正确的。这就是为什么我用这个make dist步骤。

    当然,只要我的PAR修好了,我就可以用别的东西。有 https://metacpan.org/pod/PAR::Dist#blib_to_par 原则上可以在任何其他构建过程中调用的函数。

    • 配置依赖项的列表是手动维护的。我想用一些能自动完成的工具
    • 在Windows上 make 可能被称为 gmake dmake 取决于perl版本。我想使用现有的自动检测逻辑,而不是滚动我自己的
    • 最后,我想自动检测生成文件.PL与生成.PL所以我可以复制粘贴不同发行版的代码

    1 回复  |  直到 6 年前
        1
  •  0
  •   nponeccop    6 年前

    我自己设法找到了解决办法。

    1. CPANPLUS还有另外一个工具 cpanp 命名 cpan2dist cpan2dist --archive Foo-Bar-6.66.tar.gz 按预期工作-它构建依赖项和当前tarball的分布,并自动检测必要的构建工具 cpanp公司 做。

    2. 确定真正的 make CPANPLUS::Config->new->get_prog('make') . 它再次使用了与之相同的自动检测逻辑 CPANPLUS 所以它相当健壮。