aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/transformers/transformers.qbp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/transformers/transformers.qbp')
-rw-r--r--tests/manual/transformers/transformers.qbp53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/manual/transformers/transformers.qbp b/tests/manual/transformers/transformers.qbp
new file mode 100644
index 000000000..12cd3579f
--- /dev/null
+++ b/tests/manual/transformers/transformers.qbp
@@ -0,0 +1,53 @@
+import qbs.base 1.0
+import qbs.fileinfo 1.0 as FileInfo
+
+Project {
+ Product {
+ name: "HelloWorld"
+ type: "application"
+ files: ["main.cpp"]
+
+ Depends { name: "cpp" }
+
+ Transformer {
+ // no inputs -> just a generator
+ Artifact {
+ fileName: "foo.txt"
+ fileTags: "text"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating foo.txt";
+ cmd.highlight = "linker";
+ cmd.sourceCode = "File.remove(output.fileName);\n";
+ cmd.sourceCode += "var f = new TextFile(output.fileName, TextFile.WriteOnly);\n"
+ cmd.sourceCode += "f.write(\"Dear Sir/Madam,\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"this is a generated file.\\n\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"Best Regards and Mellow Greetings,\\nYour Build Tool.\\n\");\n";
+ cmd.sourceCode += "f.close();";
+ return cmd;
+ }
+ }
+
+ Transformer {
+ inputs: ["main.cpp"] // will be taken from the source dir
+ Artifact {
+ fileName: "bar.txt"
+ fileTags: "text"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating bar.txt";
+ cmd.highlight = "linker";
+ cmd.sourceCode = "File.remove(output.fileName);\n";
+ cmd.sourceCode += "var f = new TextFile(output.fileName, TextFile.WriteOnly)\n";
+ cmd.sourceCode += "f.write(\"Dear Sir/Madam,\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"this file was generated from \" + input.fileName + \".\\n\\n\\n\");\n";
+ cmd.sourceCode += "f.write(\"Best Regards and Mellow Greetings,\\nYour Build Tool.\\n\");";
+ cmd.sourceCode += "f.close();";
+ return cmd;
+ }
+ }
+ }
+}
+