aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/artifactproperties.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Apply all groups with the same file tag filterChristian Kandeler2018-05-241-2/+2
| | | | | | | | | ... rather than considering only the last one. It is a valid use case to add more properties and/or file tags in derived items. Change-Id: I9ebc95a3f485c16c3cc7e21723645ab87c9c1693 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove most load() and store() methodsChristian Kandeler2018-02-161-10/+0
| | | | | | | | | | | | For all serializable types whose load() and store() methods simply forward these calls to their members, the methods are removed. Instead, the serialization is now done by the persistence facility itself, which detects such classes by the presence of a member template with a fixed name (using SFINAE). If the template is present, it is called, otherwise we fall back to calling load() and store() methods. Change-Id: I42dbbdd622e0ea0db28325acc506e41c472e0f0c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Get rid of redundancies between load() and store() methodsChristian Kandeler2018-02-161-8/+3
| | | | | | | | | | It's silly that we have to mention each serializable data member in both the load and the store methods. Instead, whenever possible, forward these methods to a template that calls the right function in the persistence backend based on its parameter. Change-Id: I00e2dee8cdf55405f447cee27190bc97df8673e3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make it possible to add file tags to generated artifactsJoerg Bornemann2017-08-031-0/+13
| | | | | | | | | | | | | | | | | To add another file tag to an application one can write Group { fileTagsFilter: ["application"] fileTags: ["my_additional_tag"] } [ChangeLog] It is now possible to add file tags to generated artifacts by setting the fileTags property in a Group that has a fileTagsFilter. Change-Id: Iac977011073defd532d82f015d93970e27a66ba3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add operator== for PropertyMapInternalJoerg Bornemann2017-01-251-1/+1
| | | | | | | Reduce the usage of PropertyMapInternal::value. Change-Id: Ib88fca8d318c43cb1b367a33d2c96ee05c91bd32 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* PersistentPool: Prevent access to raw data streamChristian Kandeler2016-12-161-2/+2
| | | | | | | | | | | | | | Instead, we employ our now-generic load/store interface for all serialization operations. The advantages are two-fold: 1) It can no longer happen that carelessly written store() functions mistakenly dump unshared strings into the build graph, as it has happened several times in the past. 2) We get rid of enormous amounts of custom code dealing with container (de)serialization. All of this is now done centrally by a handful of templates in PersistentPool. Change-Id: Ib1262da50989edda9726abd7d5a8ffdceaa0ec76 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fully templatize the PersistentPool classChristian Kandeler2016-12-151-1/+1
| | | | | | | | | | | The old implementation was a wild mix of templates, overloads and, worst of all, implicit assumptions about the types of container items. This combination made it close to impossible to add support for serializing generic containers. Now we have a sensible interface that we can build upon. Change-Id: I82806eaf535c16fc861bededf1b06c681d2128c0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use string sharing when serializing file tagsChristian Kandeler2016-11-101-2/+2
| | | | | | | | On my machine, the on-disk build graph of a freshly resolved Qt Creator super project goes down by 12% with this patch. Change-Id: Ic86b4ba31769d7d4af407b24a0ee9845cf943a79 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update license headersIikka Eklund2016-08-291-14/+23
| | | | | | | | | | Patch-set 2 includes *.cpp *.c Every source file needs to have up-to-date license headers in order to pass ci. Change-Id: Ie6e493097af6f7dd6a8adff170eb856f496e689e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Replace 'the Qt build suite' with 'Qbs' in copyright notices.Jake Petroules2016-06-061-1/+1
| | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* update license headersJoerg Bornemann2015-03-021-2/+2
| | | | | Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Update LicenseEike Ziller2015-01-261-6/+6
| | | | | Change-Id: I092fca9f950de1ba38826c33b155f86feae2770b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* License update.Eike Ziller2014-10-161-7/+8
| | | | | | | Add LGPLv3 option. Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Move Qt profile setup into a dedicated library.Christian Kandeler2014-01-101-0/+65
Otherwise all changes to the implementation will have to be duplicated in IDEs. Change-Id: I61e6d4fa1ee9b724eb5d9de9f233dc915a6c8bc3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>