aboutsummaryrefslogtreecommitdiffstats
path: root/qbs
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@nokia.com>2012-02-09 14:30:09 +0100
committerhjk <qthjk@ovi.com>2012-02-20 19:18:18 +0100
commitff92cdec43e90129d4c230bab9e5e0fc0de1b6d7 (patch)
tree2fc5ff11681b160460696a2bfd3b2c6abaf80081 /qbs
parent74da217204ff126f6d5e67311bc9845a1a459bc1 (diff)
add qbs files
Change-Id: If6bf71797ae81655d24a77e6badb86a77312af38 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'qbs')
-rw-r--r--qbs/pluginspec/pluginspec.qbs62
1 files changed, 62 insertions, 0 deletions
diff --git a/qbs/pluginspec/pluginspec.qbs b/qbs/pluginspec/pluginspec.qbs
new file mode 100644
index 0000000000..6b7122d605
--- /dev/null
+++ b/qbs/pluginspec/pluginspec.qbs
@@ -0,0 +1,62 @@
+import qbs.base 1.0
+import qbs.fileinfo 1.0 as FileInfo
+
+Module {
+ additionalProductFileTags: ["pluginSpec"]
+ property int ide_version_major: project.ide_version_major
+ property int ide_version_minor: project.ide_version_minor
+ property int ide_version_release: project.ide_version_release
+ property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release
+ property string destdir: "lib/qtcreator/plugins/Nokia/"
+
+ FileTagger {
+ pattern: "*.in"
+ fileTags: ["pluginSpecIn"]
+ }
+
+ Rule {
+ inputs: ["pluginSpecIn"]
+
+ Artifact {
+ fileTags: ["pluginSpec"]
+ fileName: {
+ var destdir = input.modules.pluginspec.destdir;
+ if (!destdir.match(/\/$/))
+ destdir += "/";
+ return destdir + input.fileName.replace(/\.[^\.]*$/,'');
+ }
+ }
+
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "prepare " + FileInfo.fileName(output.fileName);
+ cmd.highlight = "codegen";
+ cmd.qtcreator_version = product.module.qtcreator_version;
+ cmd.ide_version_major = product.module.ide_version_major;
+ cmd.ide_version_minor = product.module.ide_version_minor;
+ cmd.ide_version_release = product.module.ide_version_release;
+ cmd.sourceCode = function() {
+ var i;
+ var vars = {};
+ var inf = new TextFile(input.fileName);
+ var all = inf.readAll();
+ // replace quoted quotes
+ all = all.replace(/\\\"/g, "\"");
+ // replace config vars
+ vars['QTCREATOR_VERSION'] = qtcreator_version;
+ vars['IDE_VERSION_MAJOR'] = ide_version_major;
+ vars['IDE_VERSION_MINOR'] = ide_version_minor;
+ vars['IDE_VERSION_RELEASE'] = ide_version_release;
+ for (i in vars) {
+ all = all.replace(new RegExp('\\\$\\\$' + i.toUpperCase() + '(?!\w)', 'g'), vars[i]);
+ }
+ var file = new TextFile(output.fileName, TextFile.WriteOnly);
+ file.truncate();
+ file.write(all);
+ file.close();
+ }
+ return cmd;
+ }
+ }
+}
+