| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This bug was fixed somewhat accidentally, so make sure it can't creep
back in.
Task-number: QBS-559
Change-Id: I3f85676f77cbc50b67f226810137860a7733fc6b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-645
Change-Id: Ib14533084c575d91cc937ca1f7e05145c06b108f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
On Windows, QFile::copy does not update the timestamp on the target
file.
This fixes the "projectInvalidation" API test on that OS.
Change-Id: I01c232de0f4e5e9bc5d2d28c24d5fb5516a58ca3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
We want to use it in the API tests too.
Change-Id: I8fad090ea98f67e50b7b2a8e3854c5b618172364
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Namely, adding and removing files matched by patterns. This does not
seem to be explicitly tested anywhere yet.
Change-Id: I6d7b79500ee9e7375f22537da5db6a72057bbdee
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-389
Change-Id: I2d93a55228c6ada801ed889404fac753182b82f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-493
Change-Id: Ie6e4a00f672ce4305f03e00ec0b0b7ebcbd942c3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
Missing file dependencies (e.g. header files that are not part of the
project) must trigger a rebuild their dependents.
Change-Id: I502e696d886c86a503e8950ae60254075f7e9415
Task-number: QBS-631
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Artifacts must be invalidated if a dependency is removed.
Consider a foo.cpp that includes bar.h. If bar.h is removed from the
project, then we must recompile foo.cpp to trigger the compile error
that stems from the wrong include.
Change-Id: Ifc2bc3085be553f87685a17c5ff05273daa6579c
Task-number: QBS-631
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This property is special: We cannot just test for relevance by
checking whether it is used in any transformers, because changing
it can cause new transformers to get pulled in.
Task-number: QBS-650
Change-Id: If18495b47c7238fc8a1256146f4e935ce9655b18
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It just means that no dependency should be pulled in by this item.
Useful for this kind of thing:
Product {
Depends {
name: "Qt"
submodules: theQtSubModulesINeed
}
property stringList theQtSubModulesIneed // Can be empty.
}
Change-Id: I8e500c3acfa4374be9005fcf349c0417ad47a76e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Use case 1: Build product A for architecture X and product B
for architecture Y (e.g. host tools vs target libraries).
Use case 2: Build product A for architectures X and Y and
product B only for architecture X (e.g. Android
multi-arch packages).
Change-Id: I2eb721c37cdd12c298ee12bad60e21e94b04676b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-633
Change-Id: I4bf750ff94d6fae38fb3fdb49de265caddcd789e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-630
Change-Id: Ib69c541a6c1e228b1ad3c06da51d905194ed10d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-635
Change-Id: I30dc4b0694efa0417d340a75368b3af1eb117daa
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|\
| |
| |
| | |
Change-Id: Ic33a2440fae27b4ada5b950f3a411916e8ac17f7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: I603430421156e4d23451a7a4ba0f884d6556f89a
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows non-multiplex rules with only "usings" and no "inputs" to
work as expected, that is they create one transformer per "usings"
element.
Change-Id: Iba5144f81b082043878f3eefc111846b6d05646a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I0154138ca2db91ce5ff04a109fb7e71af1b37c25
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, all products share the same build directory,
and rules are responsible for making their artifact file
paths unique, which is annoying for module authors and
introduces lots of code duplication.
Instead, make the product build directories unique and let
these directories be the base directory of relative artifact
file paths.
Also export the top-level build dir as project.buildDirectory
to the JavaScript side so rules can refer to that one if necessary.
Task-number: QBS-567
Change-Id: I257d37cad01ec6dece3e214799b917149677d80c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I4a1b580c51119b1a740e86a289d867e6f3102a39
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-561
Change-Id: Ia56280cb26241c7fb9debd0d4ce1349b041405a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I13f4d1e7d994cc5c52a0a0d80e1db1de0c710376
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|/
|
|
|
| |
Change-Id: I98a38e49cbea57d44b787eec12c2cb5f2e5cd601
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Ifd1cdfc54e7566146a478cf0833a6f67196735cd
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: I5f9868d84447682922fdf97a1a71598cf180549c
Reviewed-by: Christian Kandeler <christian.kandeler@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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: Ib9413501f647f52b60507daf85bdfe8e560d7e08
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QBS-370
Change-Id: Ib70597d8eeed711842cfb86f8d1ecb434f6b40bd
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|\
| |
| |
| | |
Change-Id: Iccf01f1dad3fca4a78c7d9b795fdef6df0181e9b
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ib7f9a00bb891fa39c5bc1f891ddbfba1e4d23227
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also supports changing the default build directory ('.') using the
'preferences.defaultBuildDirectory' property.
Task-number: QBS-462
Change-Id: Id3d05d2f5b14197bd3af2e7f9d55bdd263809716
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|/
|
|
|
| |
Change-Id: Ic8db2f80e1b6ebdad61032b3bcd8c8c986b62614
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-437
Change-Id: I7d4b64df16f5a260d41a6d34335fe0cc1a36b712
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
Turn some manual tests that add coverage of a feature into autotests.
Turn some manual tests that demonstrate a feature into examples.
Remove some manual tests that do neither.
Change-Id: Ie54005e1ba5aad07319eb864cc5ad70e26308080
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Strangely, no such check exists currently. Instead, one will typically
get an internal error on the artifact level later on.
Change-Id: Id9cd749a70564100bd7286b896f64cafbe9bfb73
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Fix the ones that are broken, remove outdated constructs, turn into
autotest where it seems sensible.
Change-Id: I0fa7e95af4e49ea190b739f779ddf7e4e8b6f96a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This fixes a stack overflow that occurred when having cycles in rule
dependencies.
Task-number: QBS-396
Change-Id: I1907ef66d74340c090b09be72d2352892baca986
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
unifiedLineEndings removes all \r characters from a QByteArray and
returns a modified copy. Use this function to unify the output from
QProcess on Windows.
Change-Id: I414230602dea0f12d171620520e72547c2939881
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: I0c0d622f2c94750053d9a35f6aa90b8492465bbd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I94791a9c5bf46f7b59fdc6e692cd79492e63ba96
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Fails at the moment.
Change-Id: I037c47d33cce2b0901572e158325e1ceeed33f01
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QBS-324
Change-Id: I405e902f7c4be004731c5f8f5bbf324fcff7e6a9
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|