diff options
author | Joerg Bornemann <joerg.bornemann@nokia.com> | 2012-02-09 14:30:09 +0100 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2012-02-20 19:18:18 +0100 |
commit | ff92cdec43e90129d4c230bab9e5e0fc0de1b6d7 (patch) | |
tree | 2fc5ff11681b160460696a2bfd3b2c6abaf80081 /qbs | |
parent | 74da217204ff126f6d5e67311bc9845a1a459bc1 (diff) |
add qbs files
Change-Id: If6bf71797ae81655d24a77e6badb86a77312af38
Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'qbs')
-rw-r--r-- | qbs/pluginspec/pluginspec.qbs | 62 |
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; + } + } +} + |