aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/language
Commit message (Collapse)AuthorAgeFilesLines
* Use QStringLiteral more where it is possibleDenis Shienkov2019-02-251-22/+22
| | | | | | Change-Id: I7419cc3fbc1e8776de3943852dcedab4c95d1c32 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use 'const auto' keywords more at objects allocationsDenis Shienkov2019-02-231-1/+1
| | | | | | Change-Id: I592d433e7c473ae9f27ca08e701516efe53650ba Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Introduce module providersChristian Kandeler2019-01-232-1/+6
| | | | | | | | | | | | | | | | | | | | | | If a dependency is not found, we now search for a matching module provider that can generate one for us. We also provide a generic fall-back provider which uses pkg-config to locate the dependency (but could be extended to incorporate other methods in the future). This is the most important part of this change for practical purposes, as it makes hundreds of popular libraries available for use in qbs projects without users having to write any boilerplate code. In a future patch, a module provider could also be used to implement the functionality of the qtprofilesetup library, relieving users of the need to create a profile for building Qt applications. [ChangeLog] The Depends item now falls back to pkg-config to locate dependencies whose names do not correspond to a qbs module. Fixes: QBS-1107 Change-Id: Ifd4f05c237cf58cd9fe707c3da648d3dbb33e82b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* SetupProjectParameters: Remove invalid assertionChristian Kandeler2019-01-073-0/+25
| | | | | | | It prevented users from overriding variant properties. Change-Id: I37c3e0a127048d7a6c6d396b20b424003ac25903 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.12 into masterChristian Kandeler2018-12-174-0/+73
|\ | | | | | | Change-Id: I44f8e2c5f3fbe8fc67deada65a4136257572239e
| * Fix bogus error about duplicate source filesChristian Kandeler2018-12-134-0/+73
| | | | | | | | | | | | | | | | | | There is no conflict if the same file is pulled in both as a target artifact of a module and a normal source file. Fixes: QBS-1416 Change-Id: Ic7467af5a8728ebb1540381c845ffc0f40e06a9c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-10-264-0/+62
|\| | | | | | | Change-Id: I5cf41522f027adac0889dc1df96613012216f092
| * Do not try to evaluate the properties of non-present modulesChristian Kandeler2018-10-224-0/+62
| | | | | | | | | | | | | | It's unnecessary and potentially harmful. Change-Id: Iff5a9a52a7aeb518617104c5eaa41cfeededbea5 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-10-126-0/+58
|\| | | | | | | Change-Id: I96c735aeda89e02f1fa9107ecfc10ebf4b554dbc
| * Remove bogus assertion from Properties item handlerChristian Kandeler2018-10-116-0/+58
| | | | | | | | | | | | | | | | | | It does not appear to serve a purpose, and it prevented deriving from the Properties item. Change-Id: Icf71e3358299ea7a0f697637967e65dd0fb9b743 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-296-0/+113
|\| | | | | | | Change-Id: Ieaf617a09ed16cf0c81ea7621d4d0ba23741fbfa
| * Do not crash on invalid property assignment in Export itemChristian Kandeler2018-06-262-0/+21
| | | | | | | | | | | | | | | | | | | | | | The crash would happen when creating the export information for a product whose Export item contained an assignment of the form "x.y: original", where x is not a module and the assignment was inside a Properties item. Task-number: QBS-1362 Change-Id: I900857fcd97852360ec2b75de1b7a791fd948dc4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Provide an error location for invalid property assignmentsChristian Kandeler2018-06-252-0/+17
| | | | | | | | | | | | | | | | | | | | ... of the form "x.y.z: value", where there is no module x.y. The errors printed in this case did not have a location, because none of the value items are proper module instances and we did not keep track of the chain of parent items. Change-Id: I2da4da7beb5bd6f6d185a63c90d42340c9e30492 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Properly diagnose invalid module property assignmentsChristian Kandeler2018-06-254-0/+75
| | | | | | | | | | | | | | | | | | ... if the non-existing module name has more than one component. We inadvertantly skipped the check in that case. Task-number: QBS-1362 Change-Id: I1fcababee1ea70c3133bd1b1c8f8f32f8450a0e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Do not pull in the bundle module unconditionallyChristian Kandeler2018-06-221-1/+4
| | | | | | | | | | | | | | | | ... into our convenience products such as Application. It is not needed for non-Darwin platforms. Change-Id: I4cba4c088eeb5817e6991ccbf2c78b41d5ac88c8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Remove the base module import from most test data projectsJoerg Bornemann2018-06-22160-320/+16
| | | | | | | | | | | | | | | | Keep the base import in blackbox/testdata/deprecated-property to ensure we don't accidentally break it. Change-Id: I790da21a7490ec9c1b0335f45e8707e7e04daa7c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-226-0/+49
|\| | | | | | | Change-Id: I3b5f14cf38452aaa740ac66cffa1e740f7349823
| * Catch mis-use of "original" as default property valueChristian Kandeler2018-06-184-0/+28
| | | | | | | | | | | | | | | | This used to cause an infinite recursion, eventually crashing after running out of stack space. Change-Id: I073f7163d73a70b17bab078c8a99199bc9d21eaa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Check for duplicate entries in multiplex propertiesChristian Kandeler2018-06-153-0/+21
| | | | | | | | | | | | | | | | | | This used to lead to an error message about duplicate product names, which left the user in the dark about the actual problem. Change-Id: I460dcdf89112124cfd303529d42acd6c13fe9155 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Allow rules without output artifactsChristian Kandeler2018-05-282-0/+16
|/ | | | | | | | | | | | It is occasionally useful to have a rule whose purpose lies solely in its "side effects", that is, it does not produce any actual files. This patch removes the necessity to declare a dummy artifact in that case. [ChangeLog] Added support for rules without output artifacts Change-Id: I38e76a5ddc78ffa768e8ae1f270ae2f7461c5ee7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* ModuleLoader: Remove unneed loadBaseModule() callChristian Kandeler2018-05-175-0/+46
| | | | | | | | | | | | | | | That call was probably conceptually unneeded since d08ce8f643 (because from then on the module instance, which already has a qbs instance, was used to evaluate the condition), and harmful since be8432fac9 (because the loadBaseModule() call then happened on the shared module prototype). This patch also needs to touch the module merger: Because the prototype is now not tainted with qbs properties from the product item anymore, we have to make sure that variant values are not ignored during module merging; otherwise, qbs properties set by the multiplexing procedure could get lost in the merge process. Change-Id: Iae5d47dbe018d330f4c96e919bb0f83c086ae1df Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Allow module instances with the same priority in different search pathsChristian Kandeler2018-05-158-8/+45
| | | | | | | | | | The search path order provides additional prioritization. Conflicts can now only occur between candidates in the same directory. This is needed e.g. to allow distributions to provide global search paths. Change-Id: I698a96e8943041fb0c4536901f75394bacd7fb40 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Show location of invalid Project.references valuesChristian Kandeler2018-05-092-0/+7
| | | | | Change-Id: I8e55d065603521473190f2b8da332caa25956e3b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix size_t/int size mismatch warningJoerg Bornemann2018-04-271-12/+12
| | | | | Change-Id: I4e15b8ebfb626c5f1477a527f09e6362cd9a6c2b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make ResolvedProject::products a vectorJoerg Bornemann2018-04-271-9/+9
| | | | | | | The value_type is not suitable for QList. Change-Id: If72af8998e9e1da37c8451bc6dc5925079be43dd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make lists of SourceArtifactPtr vectorsJoerg Bornemann2018-04-261-12/+12
| | | | | | | The value_type is not suitable for QList. Change-Id: I5a0f238838a90fa9ca942711ce9376ce6b832d8e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make ResolvedProduct::groups a vectorJoerg Bornemann2018-04-261-37/+37
| | | | | | | The value_type is not suitable for QList. Change-Id: I1ca21c523b0c1a2ac23c7d43bc611a01cc2af5f6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make ResolvedProduct::modules a vectorJoerg Bornemann2018-04-261-4/+4
| | | | | | | The value_type is not suitable for QList. Change-Id: I27564ae74207a0d9fb63e869427cd44546eb83d8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ModuleLoader: Try to load all of a product's dependenciesChristian Kandeler2018-04-253-1/+9
| | | | | | | | | | | If the product condition depends on some property of module B, then we want to load that module, even if module A could not be loaded. Otherwise, we will get a misleading error upon evaluating the product condition. Task-number: QBS-1338 Change-Id: Ib8c4108dc01f972a67f334b93a737dd43a938697 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove the deprecated Product.profile propertyChristian Kandeler2018-04-131-1/+1
| | | | | | | It was not used anywhere anymore. Change-Id: I420c40f562634159e838a805aeedbefb89185c75 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix false positives in change tracking of exported modulesChristian Kandeler2018-04-121-5/+6
| | | | | | | ... by sorting some data structures. Change-Id: I59b0244d9e489e2d4445846f6a8c796e603837c5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* ProjectResolver: Queue errors until all products have been processedChristian Kandeler2018-04-103-0/+28
| | | | | | | | | | This way, we can make users aware of all relevant errors at once, while not also flooding them with irrelevant errors from products that are disabled. Task-number: QBS-1334 Change-Id: I744621ff3a40277053ebf0e70748da0399241b48 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add QtScript git submoduleJoerg Bornemann2018-04-092-2/+12
| | | | | | | | | | | | | | | This adds QtScript as a git submodule to build the qbsscriptengine library. QtDeclarative support has been stripped out. We don't need that. Windows CE and Symbian platform support has been removed. JIT has been disabled, which improves resolve/rule execution by 8%. [ChangeLog] Bundled QtScript as a submodule. Task-number: QBS-913 Change-Id: Idfbaf06eb2cef3985e5eae955f231686499f7754 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Tests: Fix compile for Qt5.6Christian Stenger2018-03-131-3/+3
| | | | | Change-Id: I27fffb3742f0b1c0c09192039e2724f92be51917 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add autotest for exporting JavaScript objects from productsChristian Kandeler2018-03-132-0/+22
| | | | | | | | There is nothing special about this pattern, but we aren't using it anywhere at the moment, so let's verify it works. Change-Id: Ia7833bc9749110fb768072ed51e210e6ed6c2f7f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add new property type "varList"Christian Kandeler2018-03-134-0/+16
| | | | | | | | | | | While we could already assign arrays to variant properties, these would not have list semantics when merging modules, so this fills a gap in our type system. [ChangeLog] Added new property type "varList". Change-Id: I54581119f60582f2b11290e13cd4920fd72f55a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.11 into masterChristian Kandeler2018-03-093-1/+59
|\ | | | | | | Change-Id: Ie416a83940654e21b8872a8c7dc9f56b677ebabd
| * Fix exports from multiplexed productsChristian Kandeler2018-03-093-1/+59
| | | | | | | | | | | | | | | | | | | | While we did set up the dependencies between multiplexed products correctly, the *module* (i.e. Export item) that we pulled in was always the same one and corresponded to the wrong product variant in most cases. Change-Id: If42cf7e946689259c7433d81fd35d8798919eb15 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.11 into masterChristian Kandeler2018-03-021-1/+1
|\| | | | | | | Change-Id: Ided96fe9c47e59b08efdcc314d97ecd164d12b23
| * Guard QScriptEngine's creation/destruction with a mutexJoerg Bornemann2018-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building multiple configurations in one go we create one QScriptEngine per configuration, each in its own thread, but nearly at the same time. It turns out that QScriptEngine's creation/destruction is not thread-safe, which leads to all kinds of interesting effects in the multiple configurations case. We fix this by guarding creation/destruction of QScriptEngine with a mutex. Task-number: QBS-1308 Change-Id: Ie01733d5943f1fb89e1d25344c4ffa998095e394 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.11 into masterChristian Kandeler2018-02-231-1/+2
|\| | | | | | | Change-Id: Ic3e40083dcec6421fb5b55e8a4ccba7b49298c54
| * Add a location to errors in conditions of Properties itemsChristian Kandeler2018-02-231-1/+2
| | | | | | | | | | | | | | These can be exceedingly difficult to debug otherwise. Change-Id: Ie3bc42fbd60e11be105fc23624c77a623dc5f1aa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.11 into masterChristian Kandeler2018-02-163-0/+75
|\| | | | | | | Change-Id: I9603ade37a1f839019c9219c940dcbb95c1cac89
| * Check product and project names in command-line property overridesChristian Kandeler2018-02-153-0/+75
| | | | | | | | | | | | | | | | Users should get feedback if they mistyped a product name, for instance. Task-number: QBS-1288 Change-Id: Icb57490d896d21c5ff9ed3940b53d9b18fe00a30 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Use 'auto' keywords more for the allocated variablesDenis Shienkov2018-01-231-1/+1
|/ | | | | Change-Id: I25ec97e64522d7fa486fcf408d8134cbbd8b24ea Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.10 into 1.11Christian Kandeler2018-01-193-0/+59
|\ | | | | | | Change-Id: Iae805216e202e582923a70733caa842e8070cc7e
| * ModuleLoader: Fix order of module mergingChristian Kandeler2018-01-173-0/+59
| | | | | | | | | | | | | | | | | | | | Dependencies must be merged before their dependents, because the merging process for the former sets up data to be consumed by the merging process for the latter. Task-number: QBS-1275 Change-Id: Ide9146add79bf2b4fcf80d7ce95ac1d9d4ac20b2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix id pointer of base itemsJoerg Bornemann2018-01-175-8/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the following example the name of the derived product should be "derived", but it was "base". ---BaseProduct.qbs--- Product { id: baseProduct property string foo: "base" name: baseProduct.foo } --derived.qbs-- BaseProduct { foo: "derived" } The id baseProduct still pointed to the Product item originally imported from BaseProduct.qbs. Fix the item pointers in the base id scopes when handling item inheritance. Task-number: QBS-1016 Task-number: QBS-1262 Change-Id: Id11b98aa6780f8bbbda86fda5a7d11a0e006d889 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ModuleLoader: Add missing base values when merging Export itemsChristian Kandeler2018-01-082-1/+5
| | | | | | | | | | | | | | | | We forgot to do this for alternatives, meaning that in Properties items in Export items, "base" would not be properly set up. Change-Id: Ieafe4933696074469aaf497d4e153ca92fa8f73b Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge 1.10 into masterChristian Kandeler2018-01-053-0/+26
|\| | | | | | | Change-Id: I29a74f96381a1b77c6cb1959547314786690baa4