mirror of
https://github.com/NixOS/nix
synced 2025-07-02 21:51:50 +02:00
exportReferencesGraph: Export more complete info in JSON format
This writes info about every path in the closure in the same format as ‘nix path-info --json’. Thus it also includes NAR hashes and sizes. Example: [ { "path": "/nix/store/10h6li26i7g6z3mdpvra09yyf10mmzdr-hello-2.10", "narHash": "sha256:0ckdc4z20kkmpqdilx0wl6cricxv90lh85xpv2qljppcmz6vzcxl", "narSize": 197648, "references": [ "/nix/store/10h6li26i7g6z3mdpvra09yyf10mmzdr-hello-2.10", "/nix/store/27binbdy296qvjycdgr1535v8872vz3z-glibc-2.24" ], "closureSize": 20939776 }, { "path": "/nix/store/27binbdy296qvjycdgr1535v8872vz3z-glibc-2.24", "narHash": "sha256:1nfn3m3p98y1c0kd0brp80dn9n5mycwgrk183j17rajya0h7gax3", "narSize": 20742128, "references": [ "/nix/store/27binbdy296qvjycdgr1535v8872vz3z-glibc-2.24" ], "closureSize": 20742128 } ] Fixes #1134.
This commit is contained in:
parent
6de33a9c67
commit
c2b0d8749f
4 changed files with 90 additions and 50 deletions
|
@ -10,6 +10,7 @@
|
|||
#include "builtins.hh"
|
||||
#include "finally.hh"
|
||||
#include "compression.hh"
|
||||
#include "json.hh"
|
||||
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
|
@ -2273,9 +2274,18 @@ void DerivationGoal::doExportReferencesGraph()
|
|||
}
|
||||
}
|
||||
|
||||
/* Write closure info to `fileName'. */
|
||||
/* Write closure info to <fileName>. */
|
||||
writeFile(tmpDir + "/" + fileName,
|
||||
worker.store.makeValidityRegistration(paths, false, false));
|
||||
|
||||
/* Write a more comprehensive JSON serialisation to
|
||||
<fileName>.json. */
|
||||
std::ostringstream str;
|
||||
{
|
||||
JSONPlaceholder jsonRoot(str, true);
|
||||
worker.store.pathInfoToJSON(jsonRoot, paths, false, true);
|
||||
}
|
||||
writeFile(tmpDir + "/" + fileName + ".json", str.str());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue