【问题标题】:modifying settings.xml in $out/maven/conf when downlaoding nixpkgs.maven下载 nixpkgs.maven 时修改 $out/maven/conf 中的 settings.xml
【发布时间】:2020-10-06 13:00:23
【问题描述】:

https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/tools/build-managers/apache-maven 以上是apache maven的派生。当我从 nix 商店下载 maven 时,它会在我想要覆盖的 $out/maven/conf 目录中创建一个 settings.xml 文件。 要求是在上述派生中添加一个步骤,该步骤将覆盖 settings.xml 文件。 这可以通过覆盖或覆盖此派生来完成吗?

【问题讨论】:

    标签: maven functional-programming overlay nix nixos


    【解决方案1】:

    current 状态下的 maven 包不遵循正常的stdenv 阶段,但它的自定义构建器确实调用了unpackPhase。这意味着您可以设置variables 来影响其行为。

    maven.overrideAttrs (o: { postUnpack = ''
      rm $name/conf/settings.xml  # just an example; do your thing here
    ''; })
    

    从技术上讲,它是在复制到 $out 之前修改文件,但我认为这不会成为问题。如果是,您必须将build.sh 脚本拆分为通常的stdenv 阶段。然后你可以使用postInstall

    在叠加层中使用它:

    final: prev: {  # aka self: super:
      maven = prev.maven.overrideAttrs (o: /* ... */)
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      相关资源
      最近更新 更多