aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/build.cc26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 40927c063..5d6fff4e3 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -2276,18 +2276,24 @@ void DerivationGoal::doExportReferencesGraph()
}
}
- /* Write closure info to <fileName>. */
- writeFile(tmpDir + "/" + fileName,
- worker.store.makeValidityRegistration(paths, false, false));
+ if (!drv->env.count("__json")) {
+
+ /* Write closure info to <fileName>. */
+ writeFile(tmpDir + "/" + fileName,
+ worker.store.makeValidityRegistration(paths, false, false));
+
+ } else {
+
+ /* Write a more comprehensive JSON serialisation to
+ <fileName>. */
+ std::ostringstream str;
+ {
+ JSONPlaceholder jsonRoot(str, true);
+ worker.store.pathInfoToJSON(jsonRoot, paths, false, true);
+ }
+ writeFile(tmpDir + "/" + fileName, str.str());
- /* 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());
}
}