| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
On Windows the CR characters that were in stdout/stderr led to
very unclean output on the console and in Qt Creator.
We're removing those in the runQbs method now.
Change-Id: I4bef7bb7221bd6f656e5e7480c7a3e0e7ddb44fb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
The error message will contain '/bin/ls' and not just 'ls' unlike on
Windows. The test now understands regular expressions.
Change-Id: Ib37201744d192d6cd53c350107985532c3633532
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
Otherwise some command might clutter the user's current
working dir.
Task-number: QBS-607
Change-Id: Id263481d1a615b9c66753e11b271441d4bd004b1
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
Recursive dependency scanners, like the C include file scanner,
must be fed with file dependencies they've found.
Task-number: QBS-566
Change-Id: I68a8e4a5cbb771ed2785ca69412a3b4c4e280eb2
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
narf.cpp includes awesome.h
awesome.h includes magnificent.h
awesome.h and magnificent.h are not listed in the project.
Changing magnificent.h must trigger a rebuild of narf.cpp.
Task-number: QBS-566
Change-Id: Ib2df45ac550951b550ce4ba0e7519268d9123eda
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
That's more generic and adds a Probe usage to the test suite.
Change-Id: I022022f9c1d77d5508fbbe848ce56a73eb115185
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The merged Export item was lacking a file context.
Added a QBS_CHECK in instantiateModule to ensure a valid file context
of the module instance scope.
Task-number: QBS-550
Change-Id: I04368ba2e290a9af70f22e9c4c07324e295da4f0
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-561
Change-Id: Ia56280cb26241c7fb9debd0d4ce1349b041405a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: If8002fc7be0cc6af954ebb28ccbcb7bee1031e1c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QBS-542
Change-Id: I4ec5bf6020732155ab1a20583861e4bbadd196d9
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-541
Change-Id: I177c755ee203df1018039683da860b26dd9ec820
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: Ifd1cdfc54e7566146a478cf0833a6f67196735cd
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: I5f9868d84447682922fdf97a1a71598cf180549c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
This was accidentally removed when switching to the new Qt modules
approach.
Change-Id: Ie8db5a183c2cc3a82d31c2793710983cf4206ef0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Do not build the project as app bundle.
Change-Id: I1af98eb79525c9ff75f061df1452549cc93508c8
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
nm's "-C" option is not universal.
Change-Id: I7e24e76a75eb54c48a9fde5550c8257a1dcc615b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The line enabling the respective C++ macro got lost when we switched to
the new Qt module approach. (And the name of the macro was wrong for Qt
5 anyway, so it hadn't worked before either.)
Also add an autotest to catch things like macro renaming in the future.
Task-number: QTCREATORBUG-11914
Change-Id: Ica188c20e99c204d1a9d4e5f285a938707d997dd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These had several problems.
Firstly, the "changed files" case was implemented by setting all
artifacts to "Built" and then setting the ones to "Buildable" that were
reachable bottom-up from artifacts corresponding to the respective files.
This approach broke with the introduction of rule nodes, because
parent nodes do not necessarily exist yet at initialization time. This
was not caught due to the lack of an autotest.
Secondly, the logic behind the "build single file" functionality was
faulty. The assumption was that this could be implemented on top of the
"changed file" functionality, which is wrong: Consider the case where
you have several cpp files that have not yet been built. Now
marking one of them as changed and filtering by the "obj" tag will still
cause all of them to be compiled, as we cannot simply exclude all other
source files from being built, which would break the build for the
normal "changed files" case without tag filtering. Therefore we need a
dedicated list of input files by which we can filter transformers.
Task-number: QBS-537
Change-Id: I47e2ba6d0cbd073561064640eaf8f63c4e0b39fa
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
We might want to skip tests in other files as well.
Change-Id: Ia2352fdf472b461fb3d9ed6134789b4f56d126e8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
Autotest from the bug report added.
Task-number: QBS-524
Change-Id: I2ef3485db749424339a2ea96900e49fa5d1363d4
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: If31fd181c30b61f8f02915408520e85b34d5fc11
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
These functions test whether the PropertyList object has any data
loaded, and clears any existing data from the object, respectively.
Change-Id: I9dfa0e7629dccd3090fc0d5de33481c8e7caf424
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I5435e99c68646340bf6a2608819cfaef31146646
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
This one failed in about 1 of 1000 runs (Windows only), presumably
because the OS sometimes flushes the file to disk on its own, so that
our call to waitForNewTimestamp() came too late.
Change-Id: I3866ea9d081549e8a7daa33733f581f8cc96d97e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since products potentially share their property maps with their groups,
artifacts get product properties such as "name" and
"destinationDirectory". This is strange and can mess with change
tracking. Therefore we split up the product's property map in two: One
contains the module properties and is potentially shared with groups,
the other has the actual product properties and is not shared.
This patch also removes a workaround from an autotest that was required
until now to prevent a false positive in change tracking.
Change-Id: Ia1f1f0ce32669fd893a99f809753df526bf1442a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Icb5049d93a69393bedbeb74fb695d28d12732712
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
This fixes the recently introduced deprecation warnings.
Task-number: QBS-258
Change-Id: I10660270895ec89a1444d596922c22e9658ca3ab
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-509
Change-Id: I4ad32c648121068880d652e3ba39d4eea59dfbc3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
This was simply missing.
Also amend the "trackRemoveFile" autotest so that it catches such an
omission.
Change-Id: Ic3187bf17337cf792bb6ccfd324635d1a43f4d82
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
They are not strictly necessary there, but add coverage of this feature.
Change-Id: I4409575cb8a81b2fca0166388afb56c4701616b1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support different types of nodes in the build graph, we introduce
the base class BuildGraphNode. Artifact now derives from BuildGraphNode.
A RuleNode class is introduced that represents a rule in the build graph.
Rules are applied in the build phase and not in a pre-build phase
anymore.
The handling of moc has been revisited. The fixed automoc pre-build
phase is no more.
This is the squashed merge of a feature branch.
Task-number: QBS-370
Change-Id: If27cdc51cba8c9542e4282c2caa456faa723aeff
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
s/detect/setup
Change-Id: If9d84c94c89c887fb833540a0e2c9d0da4919ba9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
This changes a lib that's used by an application and checks if an
incremental build still works.
Change-Id: I24816aab1ec55e32c6e197f7d28e60c9d1f874ba
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|\
| |
| |
| | |
Change-Id: Ieeeeb2a30358031b11a902e97c8b8a0046df76d6
|
| |
| |
| |
| |
| |
| |
| | |
Give the command a proper description.
Change-Id: I7598197262a5ed77403af7fba361589def6c0063
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ibba02898e19b339bfbbd9223aebca8f83bbdfcfd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ib9413501f647f52b60507daf85bdfe8e560d7e08
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QBS-370
Change-Id: Ib70597d8eeed711842cfb86f8d1ecb434f6b40bd
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/blackbox/testdata/trackExternalProductChanges/project.qbs
tests/auto/blackbox/tst_blackbox.cpp
Change-Id: I7b5e72e0a360d7e5e814a1f6e344bf11eac767e6
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When properties on source files change, rules might have to be re-
applied and the installation of the respective source file may
have to be re-done. The current code catches none of that.
Change-Id: I7d87eb1d6bbb9918f2633ec8cbb9640ca23b90a4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Dynamic library names are different on Mac.
Change-Id: I451d61765a91213e5d2e6141848cb2f00cb0d2d9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I7319a1deea008c9f4df077eaecf3147872fc4a21
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, the timestamps of target artifacts (and only these) are
always retrieved from disk before checking whether artifacts are up to
date. This can lead to problems, for instance in the following scenario:
- The transformer creating the target artifact has another output
artifact, i.e. the target artifact has a non-target sibling.
- The sibling is created in a different command that runs after the
one creating the target artifact.
- While the command creating the target artifact is in progress, a
different, unrelated command running at the same time fails.
As a result, the executor will wait until the in-flight commands have
finished and then cancel the build, not running any commands still
queued for execution. This means that the target artifact will have a
different on-disk timestamps than its sibling.
On the next build, this newer timestamp will be retrieved. Since the
current code assumes that all sibling artifacts have the same timestamp,
it only checks one random output artifact. If that happens to be the
target artifact, the up-to-date check will report that the transformer
does not need to be re-run, even though one artifact is not up to date.
This patch fixes the two closely related subtle bugs that can lead to
this behavior:
1) Get rid of the "convenvience functionality" that always checks
the timestamp of target artifacts as a service to users that do not know
that they are not supposed to manually touch files in the build
directory. This behavior has been obsolete since the introduction of the
"--check-timestamps" option.
2) If the "--check-timestamps" option has been given, our invariant
about all output artifacts of a transformer having the same timestamp is
not guaranteed to hold, as they come from an outside source. Therefore,
in this case we must check the timestamps of all output artifacts, not
just one.
Change-Id: I482fe6060c0dee5fef74a9236a787dc7d40f3b24
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\|
| |
| |
| | |
Change-Id: Iccf01f1dad3fca4a78c7d9b795fdef6df0181e9b
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ib7f9a00bb891fa39c5bc1f891ddbfba1e4d23227
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I7159933e244e4ed008c1f38b6d481c96caaef33f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QBS-468
Change-Id: I0b2cbb1b0aba3f73baf17d703eac5ecb687f54a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Depends items get a "required" property, module presence can be
checked via "present" property.
Change-Id: Id188a442b3b32c5b2e50e568e59cee074774f125
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I96157cfc5404f53a9f48540952462f1b81f2c4e8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\|
| |
| |
| | |
Change-Id: Ic3e0027187a15fdc59faeee6fa51ebeb73828c28
|