<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qbs.git/src/lib/buildgraph/rulegraph.h, 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>detect cycles in rule dependencies</title>
<updated>2013-10-14T15:03:17+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-10-14T09:34:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=c939d3bb79619229626ccd02ea7deabe5debf060'/>
<id>c939d3bb79619229626ccd02ea7deabe5debf060</id>
<content type='text'>
This fixes a stack overflow that occurred when having cycles in rule
dependencies.

Task-number: QBS-396

Change-Id: I1907ef66d74340c090b09be72d2352892baca986
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a stack overflow that occurred when having cycles in rule
dependencies.

Task-number: QBS-396

Change-Id: I1907ef66d74340c090b09be72d2352892baca986
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>introduce classes FileTag and FileTags</title>
<updated>2013-02-20T14:32:23+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-02-19T15:59:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=b723fb1247019b9b22b520bfcae217399bfee1b2'/>
<id>b723fb1247019b9b22b520bfcae217399bfee1b2</id>
<content type='text'>
Stop inconsistent usage of QSet&lt;QString&gt; and QList&lt;QString&gt; to
hold file tags. This is now unified by using a FileTags container
class. The FileTag class is an alias for Id.

Task-number: QBS-170

Change-Id: I8917942c4327a45d3d3604f4dc39bdee12801fdb
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stop inconsistent usage of QSet&lt;QString&gt; and QList&lt;QString&gt; to
hold file tags. This is now unified by using a FileTags container
class. The FileTag class is an alias for Id.

Task-number: QBS-170

Change-Id: I8917942c4327a45d3d3604f4dc39bdee12801fdb
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>update copyright year</title>
<updated>2013-01-09T13:51:06+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-01-09T13:28:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=5c30d81b8c0fe398a35465e962b941bcdf05e792'/>
<id>5c30d81b8c0fe398a35465e962b941bcdf05e792</id>
<content type='text'>
Change-Id: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d
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: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make header guards unique.</title>
<updated>2012-11-29T13:43:34+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2012-11-29T10:21:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=e7d709fb1365478ab8a3cf93d5be5a197d28ec54'/>
<id>e7d709fb1365478ab8a3cf93d5be5a197d28ec54</id>
<content type='text'>
We add a "QBS_" prefix everywhere to reduce the chance of clashes with
header files from somewhere else. This is especially important for the
headers to be included in client code.

Change-Id: I2fe8de250073a79f4ae9a4237569c21a980f7c85
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We add a "QBS_" prefix everywhere to reduce the chance of clashes with
header files from somewhere else. This is especially important for the
headers to be included in client code.

Change-Id: I2fe8de250073a79f4ae9a4237569c21a980f7c85
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce compile dependencies.</title>
<updated>2012-11-29T13:43:08+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2012-11-28T10:54:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=db19dd50d435cfba1b25ebcda613df8839b9b7e3'/>
<id>db19dd50d435cfba1b25ebcda613df8839b9b7e3</id>
<content type='text'>
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 &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce namespace Internal.</title>
<updated>2012-11-08T14:03:50+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2012-11-07T15:19:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=d4d5bcff73d8a30b7f6eb9bb612fc5fd30eb9992'/>
<id>d4d5bcff73d8a30b7f6eb9bb612fc5fd30eb9992</id>
<content type='text'>
This makes it obvious at first glance which facilities are for
public use and which are not, which should be useful especially
for clients of the library.

Change-Id: I7f74f13b5c8a4c63a1de57bf607084a3a3852653
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it obvious at first glance which facilities are for
public use and which are not, which should be useful especially
for clients of the library.

Change-Id: I7f74f13b5c8a4c63a1de57bf607084a3a3852653
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove as much stuff as possible from the evil Qbs namespace.</title>
<updated>2012-10-16T13:52:05+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2012-10-16T08:07:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=95b639fe8bd4578ae7782d6dd913e0f109e77c97'/>
<id>95b639fe8bd4578ae7782d6dd913e0f109e77c97</id>
<content type='text'>
The only thing left now are the classes whose names would
clash if they were in the same namespace.
During the move, it turned out we have quite a number of
logging-related facilities, so introduce subdir "logging".

Change-Id: I3b673cd4f75e2ca61605a88886cfcdcac6d6bcd6
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The only thing left now are the classes whose names would
clash if they were in the same namespace.
During the move, it turned out we have quite a number of
logging-related facilities, so introduce subdir "logging".

Change-Id: I3b673cd4f75e2ca61605a88886cfcdcac6d6bcd6
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>license and copyright updated</title>
<updated>2012-10-08T13:48:48+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2012-10-08T11:48:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=c07bbf6e74bb8ddc8a8498b0c6baae8c8af547be'/>
<id>c07bbf6e74bb8ddc8a8498b0c6baae8c8af547be</id>
<content type='text'>
Change-Id: I0c0b3035514ee6b735e85c098029fa2f41edb6ff
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I0c0b3035514ee6b735e85c098029fa2f41edb6ff
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Some steps towards const correctness.</title>
<updated>2012-10-08T08:40:06+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2012-10-05T14:32:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=c80aed64c9e1c3ddb09527b6b0f3c0ccb5df4670'/>
<id>c80aed64c9e1c3ddb09527b6b0f3c0ccb5df4670</id>
<content type='text'>
We should try to better self-document functions and data types
by indicating which values will not be changed in that scope.

Change-Id: I4ef6e21a7685622b6ce8aa3effabd66aa8928a5b
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should try to better self-document functions and data types
by indicating which values will not be changed in that scope.

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