hydra-eval-jobs: Fix build

[?]
Oct 6, 2016, 1:05 PM
4GTOWRFWCVZJHG6ZQTXI5XMQO3QGHBGAV52IQKEDS6NYW5CI343AC

Dependencies

  • [2] M5BEPXTE Tweak debug output
  • [3] DKJFD6JN Process Nix API changes
  • [4] AEKIREIH * Updated hydra_eval_jobs for the new evaluator.
  • [5] FTPCV25M Store aggregate members in the database
  • [6] YNGIYQRF hydra-eval-jobs: Don't keep track of used inputs
  • [7] 4LWGZL33
  • [8] L4LBF7UF Handle derivations without a system attribute
  • [9] JTHWA6AM Rename aggregate members to constituents
  • [10] 3PNG7NIB Remove trailing whitespace
  • [11] 7GKAIP3V Fix build and handling of string inputs starting with a dash
  • [12] IMQRX4MP hydra-eval-jobs: Use JSON instead of XML
  • [13] 4CELXP7P Remove the longDescription field
  • [14] 77VF5TC6 * For ease of use during debugging, don't require --gc-roots-dir.
  • [15] I2HYJBML Debug tweak
  • [16] 7YCFGMZB * Report evaluation errors per job, and don't bail out if a job fails
  • [17] HVXL2XUZ
  • [18] POPU2ATH * hydra_scheduler: use eval-jobs.
  • [19] WUMCRXFX Don't ignore assertion failures in getDerivation()
  • [20] D6VR5FYG * Fix hydra_eval_jobs.
  • [21] A63IHCMX * Register GC roots properly.
  • [22] 4N5APGRG * Start of a helper tool to evaluate job expressions efficiently.
  • [23] YGRLM2SK * Export all relevant info about the derivation.
  • [24] VTNP5KDO * Don't catch all errors. Some errors mess up the connection with the

Change contents

  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 11
    [4.45][4.0:28]()
    #include "value-to-json.hh"
    [4.45]
    [4.0]
    #include "json.hh"
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 120
    [4.14][4.435:504](),[4.124][4.435:504]()
    top.attr(attrPath);
    JSONObject res(top.str);
    [4.14]
    [4.504]
    auto res = top.object(attrPath);
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 135
    [4.156][4.156:225]()
    if (a != v.attrs->end() && state.forceBool(*a->value)) {
    [4.156]
    [4.71]
    if (a != v.attrs->end() && state.forceBool(*a->value, *a->pos)) {
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 153
    [4.278][4.0:36]()
    if (gcRootsDir != "") {
    [4.278]
    [4.36]
    auto localStore = state.store.dynamic_pointer_cast<LocalFSStore>();
    if (gcRootsDir != "" && localStore) {
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 156
    [4.104][3.0:87]()
    if (!pathExists(root)) state.store->addPermRoot(drvPath, root, false);
    [4.104]
    [4.178]
    if (!pathExists(root)) localStore->addPermRoot(drvPath, root, false);
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 159
    [4.805][4.1334:1405]()
    res.attr("outputs");
    JSONObject res2(res.str);
    [4.805]
    [4.1405]
    auto res2 = res.object("outputs");
  • edit in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 164
    [4.30][4.30:64]()
    top.str << std::endl;
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 199
    [2.10][4.1727:1788](),[4.30][4.1727:1788]()
    top.attr(attrPath);
    JSONObject res(top.str);
    [2.10]
    [4.1788]
    auto res = top.object(attrPath);
  • edit in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 202
    [2.21][4.65:95](),[4.1824][4.65:95]()
    top.str << std::endl;
  • replacement in src/hydra-eval-jobs/hydra-eval-jobs.cc at line 282
    [4.1022][4.1850:1886]()
    JSONObject json(std::cout);
    [4.1022]
    [4.1886]
    JSONObject json(std::cout, true);