[?]
Jul 7, 2009, 1:20 PM
HVXL2XUZTOWJPESBHBFD74B4QXNMG5SX4LOXDLPJ7732IU4SUYWQCDependencies
- [2]
7YCFGMZB* Report evaluation errors per job, and don't bail out if a job fails - [3]
A63IHCMX* Register GC roots properly. - [4]
4LWGZL33 - [5]
KD5237CU* eval-jobs now efficiently evaluates all Hydra jobs from a - [6]
FMJMW4PU - [7]
SHZLOM5M* eval-jobs -> hydra_eval_jobs. - [8]
IZ2AHLM3* Export all relevant info about the derivation. - [9]
4N5APGRG* Start of a helper tool to evaluate job expressions efficiently. - [10]
YGRLM2SK* Export all relevant info about the derivation. - [11]
POPU2ATH* hydra_scheduler: use eval-jobs.
Change contents
- replacement in src/c/Makefile at line 5
libtool --mode=link g++ -o hydra_eval_jobs hydra_eval_jobs.cc -I$(NIX)/include/nix -I$(ATERM)/include -L$(NIX)/lib/nix/ -lmain -lexpr -L$(ATERM)/lib -lATerm[4.36]libtool --mode=link g++ -o hydra_eval_jobs hydra_eval_jobs.cc -I$(NIX)/include/nix -I$(ATERM)/include -L$(NIX)/lib/nix/ -lmain -lexpr -L$(ATERM)/lib -lATerm -Wall - replacement in src/c/hydra_eval_jobs.cc at line 47
Expr name, def; ATerm def2; ATermList values;Expr name; ATerm def2; ATermList values; - edit in src/c/hydra_eval_jobs.cc at line 77
}}static string queryMetaFieldString(MetaInfo & meta, const string & name){MetaValue value = meta[name];if (value.type != MetaValue::tpString) return "";return value.stringValue;}static int queryMetaFieldInt(MetaInfo & meta, const string & name, int def){MetaValue value = meta[name];if (value.type == MetaValue::tpInt) return value.intValue;if (value.type == MetaValue::tpString) {int n;if (string2Int(value.stringValue, n)) return n; - edit in src/c/hydra_eval_jobs.cc at line 97
return def; - replacement in src/c/hydra_eval_jobs.cc at line 109
ATermList as, es, formals;ATermList as, formals; - replacement in src/c/hydra_eval_jobs.cc at line 130[4.276]→[4.276:586](∅→∅),[4.586]→[4.95:188](∅→∅),[4.188]→[4.944:953](∅→∅),[4.586]→[4.944:953](∅→∅),[4.944]→[4.944:953](∅→∅)
xmlAttrs["description"] = drv.queryMetaInfo(state, "description");xmlAttrs["longDescription"] = drv.queryMetaInfo(state, "longDescription");xmlAttrs["license"] = drv.queryMetaInfo(state, "license");xmlAttrs["homepage"] = drv.queryMetaInfo(state, "homepage");xmlAttrs["schedulingPriority"] = drv.queryMetaInfo(state, "schedulingPriority");MetaInfo meta = drv.queryMetaInfo(state);xmlAttrs["description"] = queryMetaFieldString(meta, "description");xmlAttrs["longDescription"] = queryMetaFieldString(meta, "longDescription");xmlAttrs["license"] = queryMetaFieldString(meta, "license");xmlAttrs["homepage"] = queryMetaFieldString(meta, "homepage");int prio = queryMetaFieldInt(meta, "schedulingPriority", 100);xmlAttrs["schedulingPriority"] = int2String(prio);