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 35 36
|
import qbs.TextFile
Product {
type: "txt_output"
Group {
name: "lorem_ipsum"
files: "lorem_ipsum.txt"
fileTags: "txt_input"
}
//![1]
Rule {
multiplex: false
inputs: ["txt_input"]
Artifact {
filePath: input.fileName + ".out"
fileTags: ["txt_output"]
}
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "generating " + output.fileName + " from " + input.fileName;
cmd.highlight = "codegen";
cmd.sourceCode = function() {
var file = new TextFile(input.filePath);
var content = file.readAll();
file.close()
content = content.toUpperCase();
file = new TextFile(output.filePath, TextFile.WriteOnly);
file.write(content);
file.close();
}
return [cmd];
}
}
}
|