Details
Description
For instance, consider this simple case with two modules:
Module "lowerlevel":
Module {
property string prop: "value in lowerlevel module"
}
Module "higherlevel":
Module { Depends { name: "lowerlevel" } lowerlevel.prop: "value in higherlevel" }
Product using these modules:
Product { type: "mytype" Depends { name: "higherlevel" } Group { files: ["dummy.txt"] fileTags: ["dummy-input"] } Rule { inputs: ["dummy-input"] Artifact { filePath: "dummy.out" fileTags: product.type } prepare: { var cmd = new JavaScriptCommand(); cmd.sourceCode = function() { }; var prop = product.moduleProperty("lowerlevel", "prop"); cmd.description = "lowerlevel.prop is '" + prop + "'."; return [cmd]; } } }
The value printed is the one from the lower-level module, when one would except it to get overridden by the higher-level module. Note that it does not make any difference where the rule is located; it could also be in either of the modules, with the same result.