| 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>
|
|
|
|
|
|
|
|
| |
This never really worked. We have the outputArtifacts script for that
now.
Change-Id: I4c80ec1bcfcfe5a7e93edff1dfbd9a2139da3682
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The current code just dumps such maps into the file via the ">>"
operator, so no strings are shared. This patch fixes that.
Example results for building Qt Creator:
Size of build graph on disk: ~65 MB -> ~34 MB.
Size of build graph in memory: ~250MB -> ~150 MB.
Change-Id: Ic89d0f6c37ba1cd7b3aa8a35517bb6a6a37061c2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I9f1a349c8e34052d322f3cce1bc7da1a35f93764
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
We don't re-use transformers anymore, so let's create them
unconditionally.
Change-Id: Iab0b1afe0f6b6224e1a24373ea94254b79847449
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
Nobody ever wants to see these messages on log level "debug".
Change-Id: Ic999ee5381099421b7aedf2279d060a4e9555fbd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multiplex rules now always see all inputs they're interested in and not
only the compatible inputs that are out of date.
Also, we do not need to re-use transformers, because that's a fruitless
optimization attempt that complicated the code.
Eventually, we're able to remove the hard-to-grasp "regenerating
transformer" block.
Task-number: QBS-645
Change-Id: I86dd307ee6ffa95baddd4e49307f0c1816e29901
Reviewed-by: Christian Kandeler <christian.kandeler@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>
|
|
|
|
|
|
|
|
| |
Otherwise we can end up with outdated values.
Task-number: QBS-645
Change-Id: If953d9530f3211666e903b2615410ed9ba2ac0f0
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
This was needed when we createOutputArtifact was called multiple times
for the same file path. This doesn't happen anymore.
Task-number: QBS-645
Change-Id: Ia99975ee64a183fa5718a2dd56ff4ce1bb11f2ed
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-645
Change-Id: Ia54f71ed7543617ba0b44f05e868a899a7c42e9b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
The setters take care of keeping the product's artifact-by-filetags hash
up to date. Before, one had to set up the artifact's file tags before
insertArtifactToProduct was called. Otherwise the hash didn't get updated.
Change-Id: Ibb530d2c992d72c0a99152009b4e6eecbf770098
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current recursive algorithm for removing an artifact from the input
set of all rule nodes, while admittedly very l33t-looking, results in
a quasi-infinite loop when a larger number of artifacts are to be
removed. Instead, we now simply iterate over the list of nodes.
A further speed-up might be possible by doing batch changes, but this
one solves the immediate problem.
Change-Id: Id3c19321c82d5097e58b1b312c8717c59dc06eb3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I3877fcee643e1b80b2ee5030bc2dd98bb13244cd
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: Icbb514d6ec2b13f2660cf86003aea0c6bbd8e132
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: I68685166bfaa873f1e5995c7d507afef45b03055
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I90b1b4dd35c6b2c625d11137e0f7d76d92641f72
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Namely, if the build data has been mangled by the re-resolving attempt.
Change-Id: Ibe020a6bda38a335f95e2d2cef4f37fac3199a7d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
The existence of the correct compiler binaries was checked, but the
compilerPathByLanguage map was never updated. It always contained
the initial strings "gcc", "g++" and so on.
Change-Id: Ied9e164af0fd102b2a061665921f51f96ca9eb80
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
We want to use it in the API tests too.
Change-Id: I8fad090ea98f67e50b7b2a8e3854c5b618172364
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of deducing the old inputs of a rule from the inputs of its
created transformers, we hold a dedicated list of old inputs, because
the former approach doesn't work for dynamic rules.
This fixes a speed regression introduced in 32c4d3d7.
The outputArtifacts script of dynamic rules was always run on
compatible inputs that were not input of transformers, e.g.
C++ sources that don't have a Q_OBJECT macro.
Change-Id: I2d43fa7c91ed9084bd27dc9b948c06152bfce726
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The product- and project-specific ones were left-overs from earlier
concepts, so get rid of them. Everything goes into the same "global"
cache now. Also make sure that we cache disabled modules too; the
respective files were always re-read from disk so far.
Change-Id: Ib1dee08dbbfe61b0369772df96122e8eab19741b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Ifc9a1b3797a82587ffe92fdc431d9c91591bd31e
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
Commit 9297ea217284e2279f2d4471b3f8fc754dc5fe71 introduced a speed
penalty. This is a quasi-revert of said commit.
Change-Id: Ia0b0741cf818a9867f127a25830630fb3ea352ff
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
It's not supported for other languages.
Change-Id: I69ed8acfd4c693036d341bbdf0cce1e3190467ea
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
In that case, we must ignore the existing project.
In particular, we must acquire a new build graph lock, as the
existing one protects a different build graph file.
Change-Id: I6f84d207959c94d082d9966c85d7b86a14ecfeb3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I897d4743cefc4e70366c5599c5ba94aadfad70a3
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Change-Id: I3134c4ba1c781260d2d14501eb8579e6ec628e02
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
|
|
|
|
|
| |
Change-Id: I8e1964238231ecf87ab5df8b036b79a6c7348a61
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The project file does not need an update in this case. Actually, that
would even lead to an error on the next project resolving, as the file
would then be listed twice (once explicitly and once matched by a
pattern).
Task-number: QBS-653
Change-Id: If56969c36d1bba3f9194621690c2e1f25229ee9e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
The setup-qt tool does more magic these days.
Change-Id: I720a9421c5dc831d2e861d982875ac2e613fa605
Reviewed-by: Christian Kandeler <christian.kandeler@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>
|
|
|
|
|
|
|
| |
If the property IS defined, it still must be in [big, little, mixed].
Change-Id: I77d64580d1dcce8ad027500ee8e394bf05d3d961
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: Ie8f2226c7d9fe69e6c3842bbace8942674c6a959
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: I6dc05e5ef71e4fd54e3a27b5e13de9bdb9c57940
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: I1c42f03aa7aa539560ba3da520a2df16758f9485
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
This property can be used to specify the minimum required QBS
version of a project.
Change-Id: I564f4298c060c3acf2f6221fb1d6978eda1dd1a5
Task-number: QBS-453
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: If772a815a9f0d99d00dc5037b236a71b7928a641
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
As a side effect, some capabilities introduced here also apply to XIBs.
Task-number: QBS-466
Change-Id: I27eaf1a9a73ef25475b4f6b2bc971dcd941b6371
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-389
Change-Id: I2d93a55228c6ada801ed889404fac753182b82f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Icbfb31d435b804254e1df95ed188763360f7c33b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The qbs file artifact was missing in that particular lookup table,
because the "qbs" file tag is added after insertArtifact is called.
This fixes tst_blackBox::testEmbedInfoPlist on OS X.
This commit amends 32c4d3d7.
Change-Id: Ibab9f301ca4cc4e562b4a397953add70351403bb
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example:
outputArtifacts: {
return [{
fileTags: "blubb",
filePath: "x",
cpp: {
includePaths: "mydir"
defines: ["BLA", "BLUBB"]
}
}]
}
Task-number: QBS-646
Change-Id: I3defa656e1a5b10fe56e4bbba7c354612144552c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
Clients need to set the define as well when including the header.
Change-Id: I0aa73cb2f530258685dc44b9da99d04d8d737b13
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I5bda4b7941506c39465b2462b24cc0fdf7c3f813
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
No JavaScript is ever run, so it cannot be canceled either.
Change-Id: I322b2b1bb599273562f60028c07ac6bb09b4dd66
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
This class replaces the Version struct in setup-qt and the
ImportVersion class of the loader.
Change-Id: Ic65eaf62de44ce0c082fe805431463defce1fe3b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This error is obvious enough to not show the entire help.
Also, this behavior is consistent with "qbs -f /dir" where /dir
doesn't contain a project file.
Change-Id: Icb0a4d8ce41d7480e02aca262faf14922aecab6e
Task-number: QBS-655
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Change-Id: I1bc53e14219acec3ee9b3b88720bef25609e0a1b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|