<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qbs.git/src/lib/buildgraph/buildgraph.pri, 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>sort files in buildgraph.pri</title>
<updated>2013-08-02T09:38:32+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-08-02T08:41:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=a253c2f15d5a09ae4c8febfe35492db5a5117df6'/>
<id>a253c2f15d5a09ae4c8febfe35492db5a5117df6</id>
<content type='text'>
Change-Id: I46d2963aed1be00a79a129f61f447a4685e56055
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: I46d2963aed1be00a79a129f61f447a4685e56055
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>move file dependencies to dedicated class</title>
<updated>2013-08-01T09:10:12+00:00</updated>
<author>
<name>Joerg Bornemann</name>
<email>joerg.bornemann@digia.com</email>
</author>
<published>2013-07-30T08:18:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=1ce74f4c5e7d9e9ccb854c22fa8540ebcaded154'/>
<id>1ce74f4c5e7d9e9ccb854c22fa8540ebcaded154</id>
<content type='text'>
File dependencies are a very simple variant of artifact.
We save space and structure the code more clearly by introducing the
FileDependency class.

Change-Id: I36b95794f9d6d3d739ea4836ebc831848a89de98
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
File dependencies are a very simple variant of artifact.
We save space and structure the code more clearly by introducing the
FileDependency class.

Change-Id: I36b95794f9d6d3d739ea4836ebc831848a89de98
Reviewed-by: Christian Kandeler &lt;christian.kandeler@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Move BuildGraphLoader into its own set of files.</title>
<updated>2013-06-19T10:00:30+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-06-18T13:24:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=cc1d95bb7ded0337ab27fd1b6c6206452d6dcd14'/>
<id>cc1d95bb7ded0337ab27fd1b6c6206452d6dcd14</id>
<content type='text'>
Change-Id: Icd11a83337a34d3544bfd59c1ab93c9d2ccb4dea
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: Icd11a83337a34d3544bfd59c1ab93c9d2ccb4dea
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove structural redundancy in project and product classes.</title>
<updated>2013-04-12T12:19:12+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-04-08T16:18:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=1d9c080428dcd5e8c1d08598d6542d87f1ca1819'/>
<id>1d9c080428dcd5e8c1d08598d6542d87f1ca1819</id>
<content type='text'>
We had two project classes, each holding a list of products
that was structurally identical, except that no BuildProduct
object existed for a disabled ResolvedProduct. The same kind
of duplication also happened for product dependencies.
This patch gets rid of these parallel structures. BuildProject
and BuildProduct are largely being demoted to data holders and are
aggregated by ResolvedProject and ResolvedProduct, respectively.
The resulting project structure should be easier to understand
and maintain.

Change-Id: I68beef60b9e0d62258f6a8337c9015864e18bd80
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We had two project classes, each holding a list of products
that was structurally identical, except that no BuildProduct
object existed for a disabled ResolvedProduct. The same kind
of duplication also happened for product dependencies.
This patch gets rid of these parallel structures. BuildProject
and BuildProduct are largely being demoted to data holders and are
aggregated by ResolvedProject and ResolvedProduct, respectively.
The resulting project structure should be easier to understand
and maintain.

Change-Id: I68beef60b9e0d62258f6a8337c9015864e18bd80
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow fine-grained tuning of installation.</title>
<updated>2013-03-13T13:46:51+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-03-12T15:28:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=3014544e541836cf6ff13c08f6c863e7c643d05e'/>
<id>3014544e541836cf6ff13c08f6c863e7c643d05e</id>
<content type='text'>
- Potentially different prefixes for libs and plugins/modules.
- Make it possible to disable installation of development files
  (headers, qbscore.lib on Windows).

Change-Id: Ia153d17835f9f1b8d802b23c3689a2f72f656e50
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@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>
- Potentially different prefixes for libs and plugins/modules.
- Make it possible to disable installation of development files
  (headers, qbscore.lib on Windows).

Change-Id: Ia153d17835f9f1b8d802b23c3689a2f72f656e50
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@digia.com&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make project installable on Unix/Linux.</title>
<updated>2013-02-15T15:46:35+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-02-13T10:27:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=9b8b34488ec38e70c1c567c364f6427f52d75c20'/>
<id>9b8b34488ec38e70c1c567c364f6427f52d75c20</id>
<content type='text'>
- Add installation rules.
- Adapt rpath and some publicly visible #includes to be relocatable.

Change-Id: Ie3560bbf2a5ec4d41e5e3064a95a5273f683df08
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@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>
- Add installation rules.
- Adapt rpath and some publicly visible #includes to be relocatable.

Change-Id: Ie3560bbf2a5ec4d41e5e3064a95a5273f683df08
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@digia.com&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make internal unit tests optional.</title>
<updated>2013-02-13T10:44:34+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-02-12T11:16:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=ee644e4596db7ae4c4e8044175996d96f3f249dc'/>
<id>ee644e4596db7ae4c4e8044175996d96f3f249dc</id>
<content type='text'>
The respective code will not be compiled into the library unless
"all_tests" is added to the qmake CONFIG variable.

Change-Id: I45ab29666e3ce55baa4c83b3f4e1821258ba1b64
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@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>
The respective code will not be compiled into the library unless
"all_tests" is added to the qmake CONFIG variable.

Change-Id: I45ab29666e3ce55baa4c83b3f4e1821258ba1b64
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@digia.com&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Build a shared library.</title>
<updated>2013-02-08T16:29:16+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-02-07T16:31:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=a0442f40968da79b4b0e50e665a8885b78769df7'/>
<id>a0442f40968da79b4b0e50e665a8885b78769df7</id>
<content type='text'>
We don't want our code to be duplicated in memory for each application
that uses it, so the library should not be linked statically.
Some ramifications worth mentioning:
    - The unit tests had to be moved into the library,
      because otherwise we would need to export random
      internal symbols. This is why the patch appears so big.
      A follow-up patch should probably make compilation
      of tests optional, so the library can be deployed without
      unneeded code.
    - The DESTDIR of the auto test executables is now the
      same as the one of all other executables, so they
      can all use the dll on Windows without additional
      setup.
    - Some internal symbols were exported, namely:
          a) Logging-related stuff. This allows us to use
             a uniform logging approach in the library and in
             our command-line tools; I consider this acceptable.
          b) A handful of classes and functions currently needed
             by certain command-line tools. These seem more questionable
             to me and we should probably find a different way to implement
             the respective functionality.

Change-Id: I9cd21e12cd622b55cf62f5e04ad398734410ede1
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't want our code to be duplicated in memory for each application
that uses it, so the library should not be linked statically.
Some ramifications worth mentioning:
    - The unit tests had to be moved into the library,
      because otherwise we would need to export random
      internal symbols. This is why the patch appears so big.
      A follow-up patch should probably make compilation
      of tests optional, so the library can be deployed without
      unneeded code.
    - The DESTDIR of the auto test executables is now the
      same as the one of all other executables, so they
      can all use the dll on Windows without additional
      setup.
    - Some internal symbols were exported, namely:
          a) Logging-related stuff. This allows us to use
             a uniform logging approach in the library and in
             our command-line tools; I consider this acceptable.
          b) A handful of classes and functions currently needed
             by certain command-line tools. These seem more questionable
             to me and we should probably find a different way to implement
             the respective functionality.

Change-Id: I9cd21e12cd622b55cf62f5e04ad398734410ede1
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce the "install" command.</title>
<updated>2013-01-22T11:21:38+00:00</updated>
<author>
<name>Christian Kandeler</name>
<email>christian.kandeler@digia.com</email>
</author>
<published>2013-01-07T14:48:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qbs.git/commit/?id=5cdf94de300e72987dfbe5c0fec5b86317ad6280'/>
<id>5cdf94de300e72987dfbe5c0fec5b86317ad6280</id>
<content type='text'>
This decouples building and installing, e.g. allowing
the latter to be executed by a privileged user
to a system-wide directory.
In addition, the ability to install build artifacts
(typically executables or libraries) has been added.

Change-Id: I28e725e4c1168eebe88e12c75e3d3e9f5fe28ca5
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This decouples building and installing, e.g. allowing
the latter to be executed by a privileged user
to a system-wide directory.
In addition, the ability to install build artifacts
(typically executables or libraries) has been added.

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