summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Remove mentioning of 'lighthouse'v1.4.4Kai Koehne2015-11-251-2/+2
| | | | | | | | | | Lighthouse was an internal name, it's now called QPA. Anyhow, this reference adds nothing to the understanding of the section, so we can as well remove it. Change-Id: I92808069a70d75a0ef9741566e0f9bc3b746231d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* Doc: Reformulate sentence in tutorial about explicit dependenciesKai Koehne2015-11-251-2/+1
| | | | | | | | | Saying that you need to 'import' the dependency is unfortunate, since import has been introduced with a very distinct meaning (QML imports). Change-Id: I59216cb651853eafb8169966cd6b23cee3201268 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add product scope to groups in modules.Christian Kandeler2015-11-246-9/+26
| | | | | | Task-number: QBS-910 Change-Id: I1f24edceeae857404874db5be2c09e7d03836e53 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* libqtprofilesetup: Adapt to Qt 5.6 prl file change.Christian Kandeler2015-11-181-4/+7
| | | | | | | Task-number: QBS-908 Change-Id: I16c2ea7ade8f3be0c1cb18acbe06c737c359cad5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Change tracker: Add workaround for benchmarking problem.Christian Kandeler2015-10-291-1/+9
| | | | | | | | valgrind inserts LD_PRELOAD into the environment, screwing up our null build benchmark. Work around that. Change-Id: I3acf2e19a9d5a1f9b2bdfdbd044a7dd8ef64574c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Change tracking: Be more sensitive to environment changes.Christian Kandeler2015-10-266-11/+37
| | | | | | | | | | | | | | Contrary to what the old code assumed, it is not enough to compare the values of environment variables that were used while resolving the project: A command run by a transformer might be sensitive to environment changes as well (e.g. gcc to CPLUS_INCLUDE_PATH). Note: This does not mean we will rebuild everything when anything in the environment changes; it means that *if* a file is rebuilt, its command will see the new environment instead of the old one. Change-Id: I7916b8c40f1440564034ec3317c549ebd4e988a0 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* ModuleLoader: Respect overridden value of project condition.Christian Kandeler2015-10-261-4/+4
| | | | | Change-Id: I73586e18f256ef5f1985df2f16f353384d9b26e4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Docs: Fix left-over reference to outdated item name.Christian Kandeler2015-10-261-1/+1
| | | | | | Task-number: QBS-887 Change-Id: If6a12f42c26fa3143a1aa97947b659226ecbff03 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Fix java autotest on Windows.Christian Kandeler2015-10-261-1/+1
| | | | | | | | | | | Example output on that platform: "Native code performing complex internal combustion process (000000000212F1F8, 000000000234F5F8)!?" So no "0x". Change-Id: I2527447241d9ec5d3dbee09277715e5838ad8199 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> (cherry picked from commit 419180b289bd78b13ed9f51de6998e2decb079e3) Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Bump version number.Christian Kandeler2015-10-192-2/+2
| | | | | | | To 1.4.4. Change-Id: Ice951253c665ba76caf290208415203a7fc6d15b Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Fix using Properties items in Groups.v1.4.3Christian Kandeler2015-10-025-1/+45
| | | | | | | | | | | In EvaluatorScriptClass, we overwrote the already existing outer item with a (non-working) new one. The original intention of that code is not entirely clear to me; my assumption is that it can continue to exist as a fallback where "outer" is used outside a group. Task-number: QBS-877 Change-Id: Ife0b7f85574f7d880307cd2f65f551a64ca3cf6f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add missing check for evaluation error.Christian Kandeler2015-10-021-3/+8
| | | | | Change-Id: I83b53ec2d37a2e5b499b1cd81b1cd2fb3e593750 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix examples/code-generatorJoerg Bornemann2015-09-111-4/+3
| | | | | | | This example did nothing since commit c91dcd35. Change-Id: I7aa440272b2499e26bc947e9b973682a82ca2b75 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* GitIgnore: Add debug/release directories and rc artifactsOrgad Shaneh2015-09-031-0/+3
| | | | | Change-Id: I4115a6e2972c83f6764596b63f882f356feb8db5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add Group items in Modules as child items to the respective product.Christian Kandeler2015-09-0117-8/+129
| | | | | | | | | | | Mainly to make binding to module properties work. This should also reduce the potential for other suprising behavior, as now all following code sees the Group items where they always were. Also tighten the autotest. Task-number: QBS-848 Change-Id: Iebce3f6534a4faace5c9c8bcf4447b938b9a651b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* ProjectResolver: Remove ExportsContext.Christian Kandeler2015-08-312-28/+4
| | | | | | | Was forgotten in 9d025655d5. Change-Id: I10d37c47be99d6366bef857218d7d895e0c71a62 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix cleaning of rescuable artifacts.Christian Kandeler2015-08-312-1/+30
| | | | | | | | | | | | | | | | | | | The following sequence was problematic: 1) qbs build someModuleProperty:true 2) qbs resolve someModuleProperty:false 3) qbs clean Step 2) causes the artifact objects to get removed from the build graph and their relevant information stored in the list of rescuable artifact data, so that on the next build the files will either get re-created as artifacts or removed from the disk, depending on whether the changed property causes their transformer command to change. The problem was that the ArtifactCleaner only looked at the build graph and was not aware of rescuable artifact data. With this patch, we go through the list of rescuable artifacts and remove the entries from that list as well as from the disk. Change-Id: I05348fa1e92268c58f75074ea99371e39cc662f4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Allow to use qbs properties in the condition of a Project item.Christian Kandeler2015-08-274-3/+32
| | | | | | | | By moving the call to loadBaseModule() before the one to checkItemCondition(). Change-Id: I7536dcf54fbf572112ce914d6cce3c941efc1338 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix 'gcc.exe is not a standard compiler file name' message on Windows.Jake Petroules2015-08-261-2/+5
| | | | | Change-Id: Ic526342ba837a92dfee0f79ee37c0d8c586c200e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix ib.appIconName.Jake Petroules2015-08-251-3/+3
| | | | | | | | actool requires --output-partial-info-plist to be specified if --app-icon is. Change-Id: I558ff6be4f78eaafbee22726b9a00c4fdf7ba82d Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Use destinationDirectoryForResource for all ib module output paths.Jake Petroules2015-08-252-18/+8
| | | | | | | | | | | | | | This fixes an issue where asset catalogs compiled their resources into the wrong directory due to the ib module reading properties of the bundle module from the dependency in its own scope, rather than the product's scope. This could be triggered by, for example, setting the consoleApplication property in a product to true (which causes bundle.isBundle to be false) while also explicitly setting bundle.isBundle to true. Change-Id: Ie014d42d4d8bef5e0b253c0f5a79036b4791ed55 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Don't throw exceptions from EvaluatorScriptClass.Christian Kandeler2015-08-251-5/+6
| | | | | | Task-number: QBS-863 Change-Id: I4fcd08fcd8c055bb12afe28a344f00f3b2cfe9c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix qbs run when used in conjunction with qbs.installSourceBase.Jake Petroules2015-08-257-24/+12
| | | | | | Task-number: QBS-858 Change-Id: Iafb1eb61e9e7f41fa9e5c5d1f3a8e7f58b6c1a60 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix crash in wildcard expansion.Christian Kandeler2015-08-252-1/+9
| | | | | | | | | The code assumed that an absolute path on Windows always starts with a drive letter. Task-number: QBS-862 Change-Id: I3c673f4539dd0967a8b3164522bed51e6dfa667e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Executor: Initialize all nodes in the project to "untouched".Christian Kandeler2015-08-241-6/+10
| | | | | | | | | | | | | | | Not just the nodes in the products we want to build. Otherwise, in an IDE like Qt Creator the following scenario is possible: - User does a normal build and cancels it. - User then builds a single product. - Now there are potentially nodes outside of this product in state "buildable". - In finishNode(), these get added to the list of leaf nodes and we will erroneously visit them. Task-number: QBS-835 Change-Id: I46d98e80cc2ebc8e88316201a56bb671af5d70de Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Bump version to 1.4.3.Christian Kandeler2015-08-212-2/+2
| | | | | Change-Id: Idef447a7b2cd09a0b66d2bd785b2969a87dd51f8 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* archiver: Don't continue when the zip tool is unknown.Christian Kandeler2015-08-193-0/+13
| | | | | | | | | Without this patch, we simply run the unknown executable without any arguments, which can hang forever if it takes its input from stdin by default. Change-Id: I846821c3bb7321435b84d6fae5e26d97254b20bd Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Fix FileInfo::*baseName().Christian Kandeler2015-08-181-2/+2
| | | | | | | | If the path does not contain a dot, the functions return the complete path instead of the file name. Change-Id: I29d1cae78375ad89ead2e467ce1c76c3e48230a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix false positives in property declaration check.Christian Kandeler2015-08-188-23/+60
| | | | | | | | | | | | | | | | | If we attach values to properties of a conditionally pulled-in module inside a Properties block, that binding gets inserted into the surrounding module. Without this patch, the property declaration check will then emit a diagnostic for that property if the condition of the respective Depends item is false. We fix this by skipping the check for bindings that were not originally present in the surrounding item. Note: This means we will not catch some bindings anymore that are actually wrong. It could probably be done, but would involve an inordinate amount of book-keeping, plus additional evaluations of Properties conditions. Task-number: QBS-854 Change-Id: I75c2af00fdfb97c9db2de2241f701dd213a401da Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Replace left-over occurrences of "additionalProductFileTags".Christian Kandeler2015-08-173-3/+3
| | | | | | | These were apparently forgotten in f1db83fdfe. Change-Id: Ia4a82f49bdfadb879b8ebca7400c7be9774b5523 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Canonicalize project file path and build directory on project setup.v1.4.2Jake Petroules2015-08-141-0/+10
| | | | | | | | | | | | For example, on OS X, /tmp is a symlink to private/tmp, so attempting a build in /tmp would generate moc_*.cpp files whose number of ../ components would be incorrect when later resolved against the canonicalized path by the compiler, leading to build errors as a result of the included header not being found. Task-number: QBS-801 Change-Id: I85ce737baf77c98b860b61c27b24b7b017d9d19e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Emit diagnostics for all types of undeclared properties in Export items.Christian Kandeler2015-08-113-1/+18
| | | | | | | | | | | | | So far, users only got warnings for invalid property assignments in existing modules, but neither for assignments to non-existing properties in the Export item itself nor for those to properties in unknown modules. Note: The errors we already caught before will now be reported twice. This should ideally be fixed in a follow-up commit. Task-number: QBS-851 Change-Id: Ie00d6af8d5817bb5ecdebf6ffd735b5156b558df Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add XFAILing autotest for newly discovered bug.Christian Kandeler2015-08-112-0/+16
| | | | | | Task-number: QBS-851 Change-Id: Ice8f9d298ba65e60e2ad33dc9d5f8b2bb8961706 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* PropertyDeclarationCheck: Take Export items into account.Christian Kandeler2015-08-113-4/+20
| | | | | | | | | Only skip these items when they occur as child items (of the exporting product), but not when they occur as part of item values (of the importing products). Change-Id: Id0193c2c44250461c69357705f8703b8defa082e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* PropertyDeclarationCheck: Do not skip Subproject items.Christian Kandeler2015-08-113-2/+9
| | | | | | | Otherwise, potentially large parts of a project will go unchecked. Change-Id: I61b2622ae1c3e249836d75a72cd3a8145ba5ebb2 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix standard compiler name warning when using a toolchain prefix.Jake Petroules2015-08-071-7/+8
| | | | | Change-Id: Ic0a563013157343bdc2e621da38652f23de93086 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Add XFAILing autotest for newly discovered bug.Christian Kandeler2015-08-063-1/+13
| | | | | | Task-number: QBS-847 Change-Id: Ie4f7c27aac2ebdda6d51bd8892e0a3e8c7e826cf Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix/improve probing of node.js on Windows.Jake Petroules2015-08-061-1/+6
| | | | | | | | "Fix" by adding the .exe extension, and "improve" by adding the standard install locations to the search path if node.exe is not in the PATH. Change-Id: Icff5f1d733a663737e9d5fbddaa00b72d8d3620c Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix performance regression when importing JS files.Christian Kandeler2015-08-051-1/+1
| | | | | | | | | | | A side effect of the bugfix commit 33c9a2721b was that two imports of the same file were no longer considered the same if the import location differed. This results in a considerable slowdown due to more cache misses, so restore the old behvior in this regard. Also, JSImport's qHash() and operator==() are now consistent. Change-Id: I23acd665a6329ec1ab132cb34657f0b05357093f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Make it possible to overwrite properties conditionally.Joerg Bornemann2015-08-0411-2/+112
| | | | | | | | | | | | | If a product or higher-level module wants to set the property of a (different) module only if some condition is fulfilled and leave it unchanged otherwise, it would currently need to duplicate the value from the module prototype. Obviously, this is not feasible for anything but the most trivial definitions, and even then it easily introduces maintenance problems. Change-Id: If33c93a25dc84603fe95704e8815aa6e3aa1e0e4 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Allow importing JS collections also via the file name syntax.Christian Kandeler2015-08-048-19/+37
| | | | | | | | The form "import MyCollection" was supported, the form "import 'mycollection' was not. That does not make any sense. Change-Id: Id57b6749300bfa21cd1afcbc58d234e5c67a963d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix excessive memory usage in ModuleMerger.Christian Kandeler2015-08-032-9/+12
| | | | | | | No need to clone the prototype item for every single list property. Change-Id: Iccde5172aa093ca1df25d93fbf3c336ed3445ab0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add XFAIL'ing autotest for newly disovered bug.Christian Kandeler2015-08-033-0/+15
| | | | | | Task-number: QBS-845 Change-Id: I885959f930d84aefa3013d29b6bef61f01fcc8cb Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix importing a collection of JavaScript files.Christian Kandeler2015-07-318-26/+65
| | | | | | | | The old implementation only made the contents of a single file in the directory available (namely the last one it happened to read). Change-Id: Ib88cb738bef161bd1c2c5ad842cf7ff33ca171b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Reset more script engine state in Loader.Christian Kandeler2015-07-311-0/+2
| | | | | Change-Id: I3d16bb9aa8b742fa37281f66ba19fc1bad5d8147 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Separate Android profile name components with '-' instead of '_'.Jake Petroules2015-07-303-3/+3
| | | | | | | | | This is more consistent with the rest of qbs and as a helpful side effect, encourages Android profiles to be re-created since their generation was recently completely overhauled. Change-Id: I1041584eb197b39d9ca3634687ea86d2fb95a2d5 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* De-friend ItemReaderASTVisitor from FileContext.Christian Kandeler2015-07-305-24/+25
| | | | | Change-Id: I6b0397b1a8952bf6f48319c3c5d41344f12fc6ea Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix compile errors causes by header cleanup.Christian Kandeler2015-07-304-0/+7
| | | | | Change-Id: I9f7bea17b70466b1e84721f3a03f723b8f3b5cae Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Code clean-up in corelib/language/.Christian Kandeler2015-07-3048-323/+170
| | | | | | | | | | | - Remove unneeded #includes (particularly from header files). - Make inline member function implementations less verbose. - De-QObjectify the Loader class and remove unneeded members & heap allocations. - Minor stuff (const issues, unneeded namespace qualifications). Change-Id: I55f2d7ed98b32faed7582bc6adfa04eb799de874 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Fix default values of wix module properties.Jake Petroules2015-07-302-3/+4
| | | | | | Task-number: QBS-832 Change-Id: I7b2df4ba78ac3b8417b2e0338b909641915fabf2 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>