| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support different types of nodes in the build graph, we introduce
the base class BuildGraphNode. Artifact now derives from BuildGraphNode.
A - yet unused - RuleNode class is introduced that represents a rule in
the build graph.
Change-Id: Ie1ad5e7a9e65bfd5f99d3e824737516053de0f94
***new artifacts hash in ProductBuildData
Change-Id: I50521ec64f734bfb3662759076fa5e7912ac084e
***automoc fixup
Change-Id: Ie2bb228ae38d63deccc600d67d283bc3beda9fec
slightly nicer rule debug output
Change-Id: I60ddef73cd7f0a67055f2d56e6dbe7fa45ddd450
create RuleNode objects and add them to roots
Change-Id: I51a0f89b98cda524d34888ab758d7bd397d82f00
***execute rule nodes on build
Change-Id: I291c32868cd982e37393d6bc8d696f2b63fbff50
***ArtifactSet::fromNodeSet
Change-Id: I7586bcfbe43406c22b1ee1a1fd826beaa247164f
***update after rebase
Change-Id: I5f73afc80b746b11eeb83aeadf29c2358accbab8
***phonytarget
Change-Id: I587b7e072e54b866e8d5ea37c874e6a8baa550e0
update after rebase
Change-Id: I6017c0cbe9244fea04d513f53e3a2a85092bf962
skip nodes early
We must skip Building and Built nodes.
m_leaves can contain duplicates now.
Change-Id: If275106a47c403a455103f4deeb20049548007f5
debug message
Change-Id: I90e238eef72a8a02fb0a9f2c77715f5f15c1442d
disable phony thingy
Change-Id: I7bb60b850b96b65ab738c11e96c3a84cbe58d2f7
connect each output of a rule to the rule itself
Change-Id: I159d76c4b63094058cc9a07ccc2d0b67c7ce06e6
TagScanner
Change-Id: I4741e48cd674c0ca830ee1b4d05b59a8c542694f
TagScanner deps
Change-Id: If3e43a7ac25616cd151229684a085ac8ee787645
update after rebase
Change-Id: I58d49a5ed1049a17733fc2154588f12c1cda53e6
only root tag scanners in product
Change-Id: Ia94732a5632156a5ec3c5518c9596cd4cefac105
run TagScanners
Change-Id: I869a183f2da23a43957a6df45dc5a1b30b10af92
TagScannerRunner
Change-Id: Id3c5fac73e6fb84e56d6ab1d48a959f3677f7a67
crash fix
Change-Id: Ie3c26dbed41ab4615915a08913c495868c3a8910
more TagScanRunner
Change-Id: I80b79f101c0f4d802fb4f6515c0848e369fed066
handle removal of filetags
Change-Id: Icdd8d05c2e26953f7b12d968aa5dfcc23928b9ba
Qt4 build fix
Change-Id: Ie5fcb64e36ddc5004003183bea7243536bc8ab15
do not waste space with type information
Change-Id: I7b9354e6fceead228ba335723b9addeb701bef56
update nodes that must get new transformers
Change-Id: I06cd7ffe606ae643393350c5959ef6475343929f
update after rebase
Change-Id: If080e664972f2950c12fd800a3e4b521e65dca3a
only run tag scanners on changed sources
And do not call RulesApplicator in bgloader.
Change-Id: I5140c91c79a842dab933ad7b328100bdec13cb10
Conflicts:
src/lib/buildgraph/buildgraphloader.cpp
sketch of moc tagscanners impl
Change-Id: I7736c2da1b1742bc3556ef660c163e6c32cbd4c9
Conflicts:
share/qbs/modules/Qt/core/core.qbs
MocTagScanner
Change-Id: I87199e8f355b8b20cf2387f4d4190a20bddae0db
fix lib.qbs
Change-Id: Ibcb5bc290d3839b04828f8c9b155577634bcc9e4
moctagscanner split
Change-Id: Iace5d48483c02b5d33d9ccd54ac07162bfc09d27
|
| |
|
|
|
|
|
|
|
| |
Import directives in files of imported items were ignored for prepare
scripts. We must use the file context (that contains the imports)
of the file where the script property is set.
Change-Id: Icca3fc84dd1e130446775122b7b58e6e9ddced98
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
| |
Also introduce ResolvedTransformerConstPtr for consistency and use
it where appropriate.
Change-Id: I4922c71a681e970e57502269d8ee259dcacde39f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
| |
Later, we want to use this class for script function properties that
have a name that's different from "prepare".
Change-Id: Ic58a577116aa2b60b65b8648473bc84ff9d56aeb
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
| |
This is nice to have for grouping products and
a requirement for aggregating existing projects
into a bigger one.
Change-Id: I3394642e95ea57dbc6bf1603cfed6902a5906e4c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cycles in the graph of item objects prevent us from using shared
pointers. The whole structure is too complex to guarantee the absence
of cycles in every case.
To fix that we remove the smart pointers and introduce the ItemPool
as the sole owner of all items of a project.
Task-number: QBS-269
Change-Id: I53c55216598086b82d00ede08c56395062384834
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Split Loader into ItemReader, ModuleLoader and ProjectResolver.
Get rid of our three QScriptClass derivatives and replace them with
one, named EvaluatorScriptClass. The complete knowledge about the
project structure is held by a tree of Item objects that are
independent of QScript* objects and thus are prepared to be
serialized.
Change-Id: I53e23426d55e7de9cec6f9f29da55fb9c4704d71
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
| |
We will soon introduce a new, externally visible class "PropertyMap".
Change-Id: I22ab86392439ebde2476be7655803318f77fef7f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
| |
Change-Id: Iae6f268ddcaa739d54a3b420a2999dfb5da6329b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With fileTagsFilter one can set properties on a certain set of
generated artifacts. This property is a list of file tags.
All artifacts that have file tags that are in that list will get
the properties that are bound in the rest of the item.
Example:
Group {
fileTagsFilter: ["dynamiclibrary"]
qbs.installDir: "mylibs"
}
Group.files and Group.fileTagsFilter are exclusive.
Change-Id: I764e0a823f2cda4efe4ac3c985ecde5e178bab7b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This feature is in desperate need of simplification, since the
current semantics are not clearly defined. The main
culprit for that is the ability to use wildcards in
directory names, which leads to all sorts of
problems, especially in combination with the "recursive" flag.
We therefore disallow that now: Wildcards can only be used
to match actual files. This results in clear semantics that
are easily understood and can actually be documented.
Change-Id: If8a950e1c1a362ce9fb57a1c9789a83ea7c8b3ba
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
| |
Change-Id: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
While it seems elegant at first glance to do typedefs in class scope, it
has one serious drawback: Forward declarations become impossible unless
they use the non-typedef'ed type name, which defeats the purpose. As a
result, dozens of headers currently include language.h and buildgraph.h,
even though they technically don't have to.
Fix this by introducing special forward-declaring headers and doing the
typedefs there, outside the class scope. Now changes to header files
included in language.h or buildgraph.h don't ripple through half the
project anymore.
Along the way, also remove unneeded and potentially harmful INCLUDEPATH
statements from various pri files.
Change-Id: Ib50db850876955216db7f39b6099c32d1239092b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|