<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qbs.git/src/lib/buildgraph/transformer.cpp, branch dynablaster</title>
<subtitle>code.qt.io: qbs/qbs.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/'/>
<entry>
<title>introduce class BuildGraphNode</title>
<updated>2013-11-27T10:49:01+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-08-02T11:57:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=006824f89c4f298f19c45f4f4585b4452cd2d2b9'/>
<id>006824f89c4f298f19c45f4f4585b4452cd2d2b9</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>fix calling of prepare script function</title>
<updated>2013-09-24T13:01:59+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-09-24T10:22:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=543a38424a98bb72b8cf34bacbd3ff552a306776'/>
<id>543a38424a98bb72b8cf34bacbd3ff552a306776</id>
<content type='text'>
The scope that contains inputs, outputs and friends was bound to the
function object, which is wrong when applying the function later on.
Instead, we're passing those variables as function arguments now.

Change-Id: I7ad7b6a742091fae889ed57b7c9cbceea4a2ead2
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The scope that contains inputs, outputs and friends was bound to the
function object, which is wrong when applying the function later on.
Instead, we're passing those variables as function arguments now.

Change-Id: I7ad7b6a742091fae889ed57b7c9cbceea4a2ead2
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rename class PrepareScript to ScriptFunction</title>
<updated>2013-08-26T12:50:53+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-08-26T11:59:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=0276bf6fb488a00fdcd5c0ebcbdb9ee6c5e37327'/>
<id>0276bf6fb488a00fdcd5c0ebcbdb9ee6c5e37327</id>
<content type='text'>
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 &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix change tracking for properties requested from prepare scripts.</title>
<updated>2013-08-23T14:39:47+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-08-22T14:10:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=6798f6a8709fe82a1c67b656d4321e75936549a2'/>
<id>6798f6a8709fe82a1c67b656d4321e75936549a2</id>
<content type='text'>
When evaluating prepare scripts, we currently gather values requested
from products as well as artifacts, but we do not differentiate between
the two cases and upon restoring, we always compare the old property
values to the product properties. This results in an insane amount of
recompiling if any build system file changes due to false positives.
With this patch, we record whether a property was requested from a
product or an artifact, and use the right set of properties when
tracking changes.

Change-Id: Ib1fa4fad41019cfa7d3a10e0a91e7709c2f56414
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When evaluating prepare scripts, we currently gather values requested
from products as well as artifacts, but we do not differentiate between
the two cases and upon restoring, we always compare the old property
values to the product properties. This results in an insane amount of
recompiling if any build system file changes due to false positives.
With this patch, we record whether a property was requested from a
product or an artifact, and use the right set of properties when
tracking changes.

Change-Id: Ib1fa4fad41019cfa7d3a10e0a91e7709c2f56414
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>introduce Transformer::product()</title>
<updated>2013-08-12T08:17:57+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-08-12T07:27:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=c1c7cb2a5e6220a74f374a301e648479029f8a0e'/>
<id>c1c7cb2a5e6220a74f374a301e648479029f8a0e</id>
<content type='text'>
Simplifies the calling code.
Remove pointless nullpointer check from jscommandexecutor.

Change-Id: I867181d2b750f32f04376ce860f5dee6555d3e33
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Simplifies the calling code.
Remove pointless nullpointer check from jscommandexecutor.

Change-Id: I867181d2b750f32f04376ce860f5dee6555d3e33
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remember all the properties read in prepare scripts.</title>
<updated>2013-07-11T13:18:48+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-07-08T13:48:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=880c8d03cba5833bc3b0c12e408ff31e7572db86'/>
<id>880c8d03cba5833bc3b0c12e408ff31e7572db86</id>
<content type='text'>
The current code throws some away due to wrong assumptions about when
Transformer::createCommands() is called.

Task-number: QBS-360
Change-Id: I0f2360d5b56bda3b683aa580ee823089255b6e76
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current code throws some away due to wrong assumptions about when
Transformer::createCommands() is called.

Task-number: QBS-360
Change-Id: I0f2360d5b56bda3b683aa580ee823089255b6e76
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>undefine input/output if they're not available</title>
<updated>2013-06-26T13:06:47+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-06-25T16:06:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=1e35843701029ae5426f7fdc484eb64fa59a6343'/>
<id>1e35843701029ae5426f7fdc484eb64fa59a6343</id>
<content type='text'>
Change-Id: Ie750e42d382b5304c9ec568e7588bc82a36ed358
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ie750e42d382b5304c9ec568e7588bc82a36ed358
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Some minor improvements to the Error class.</title>
<updated>2013-06-18T08:57:25+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-06-14T08:57:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=b1d926024ddded2a43cc182c2d97839bb528def4'/>
<id>b1d926024ddded2a43cc182c2d97839bb528def4</id>
<content type='text'>
- Rename "Error" to "ErrorInfo", to make clear that this class conveys
information about errors, including that there might not actually be
one.
- Rename "ErrorData" to "ErrorItem", to make clear that these are parts
of an aggregate structure.
- Introduce ErrorInfo::hasError() for quick checking of whether an error
occurred.

Change-Id: Icea6ed5240d6d14bd30e9cea189c6babd7004792
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Rename "Error" to "ErrorInfo", to make clear that this class conveys
information about errors, including that there might not actually be
one.
- Rename "ErrorData" to "ErrorItem", to make clear that these are parts
of an aggregate structure.
- Introduce ErrorInfo::hasError() for quick checking of whether an error
occurred.

Change-Id: Icea6ed5240d6d14bd30e9cea189c6babd7004792
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix checkForPropertyChanges for product values</title>
<updated>2013-06-07T13:21:49+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-06-07T08:58:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=0a70dce41160783c726f822eff81ae30b83acfdc'/>
<id>0a70dce41160783c726f822eff81ae30b83acfdc</id>
<content type='text'>
checkForPropertyChanges always returned true, because we stored tracked
product properties with the module name "product".
Introduce the enum Property::Kind instead of abusing the module name.

Task-number: QBS-305
Change-Id: I51a1eb28f0bb3245d7e926685f3a0fe01f981959
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
checkForPropertyChanges always returned true, because we stored tracked
product properties with the module name "product".
Introduce the enum Property::Kind instead of abusing the module name.

Task-number: QBS-305
Change-Id: I51a1eb28f0bb3245d7e926685f3a0fe01f981959
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use private implementation in API classes.</title>
<updated>2013-05-23T13:32:46+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-04-19T09:04:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=64c9bf5e3696834c5b865205e92cb4da675c7c97'/>
<id>64c9bf5e3696834c5b865205e92cb4da675c7c97</id>
<content type='text'>
While we do not promise a stable ABI at the moment,
this is conceptually correct and has to be done sooner or
later, with increasing effort the longer we delay it.

Change-Id: Icc98443974e54d377167480ace601db4981ed43c
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While we do not promise a stable ABI at the moment,
this is conceptually correct and has to be done sooner or
later, with increasing effort the longer we delay it.

Change-Id: Icc98443974e54d377167480ace601db4981ed43c
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
