blob: 18ca0c5cc6ffcbd74fb405a588fa688dd654c40d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import qbs.TextFile
Product {
Depends { name: "nodejs"; required: false }
Depends { name: "typescript"; required: false }
type: ["json"]
Rule {
multiplex: true
Artifact {
filePath: ["typescript.json"]
fileTags: ["json"]
}
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = output.filePath;
cmd.sourceCode = function() {
var tools = {};
if (product.moduleProperty("typescript", "present")) {
tools["tsc"] = product.moduleProperty("typescript", "compilerPath");
}
var tf;
try {
tf = new TextFile(output.filePath, TextFile.WriteOnly);
tf.writeLine(JSON.stringify(tools, undefined, 4));
} finally {
if (tf)
tf.close();
}
};
return cmd;
}
}
}
|