| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Keep the base import in blackbox/testdata/deprecated-property to ensure
we don't accidentally break it.
Change-Id: I790da21a7490ec9c1b0335f45e8707e7e04daa7c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: I5d2a961dcf9ff5f1b6bee89dc1242d326b138f05
|
| |
| |
| |
| |
| |
| |
| |
| | |
We have to accumulate the accessed properties, otherwise the ones from
the previous command will be overwritten.
Change-Id: I094327f1bc31ec19770747a70e62461fa46d8e98
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|/
|
|
|
|
|
|
|
| |
It's annoying having to write this again for every autotest involving
shared libs.
Change-Id: Ief6a11f8df2810166606874d24bfa9820af00d16
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It is a mistake that the NativeBinary item currently pulls in the bundle
module unconditionally (and also that the module is enabled everywhere).
We want to change that. Prepare for the change by removing all
unconditional accesses to the module's properties.
Change-Id: If57b8222c1a0e2b09c33520882446fa71401f1f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
The primary reason was simply for export macros from qglobal.h...
Change-Id: I760c67fe1cec26daa459751d136d44e812fd56b5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
Keep other instances of moduleProperty() to have it still covered as
long as it's not yet deprecated.
Change-Id: I2bf010c3265af4429986b8c54f3c9bc5f962c629
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Having multiple project files named just "project.qbs" makes switching
buffers harder in IDEs.
Change-Id: I847c869292815cc534f903664eb01768f73286b1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
... in commands. For some strange reason, this particular case was
missing.
Task-number: QBS-1049
Change-Id: I2ceb000ef5b362754f9fcbccd44b3e3c3e396e46
Reviewed-by: Denis Klychkov <kd.snake@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Patch-set 2 includes *.cpp *.c
Every source file needs to have up-to-date license
headers in order to pass ci.
Change-Id: Ie6e493097af6f7dd6a8adff170eb856f496e689e
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When dynamic rules were introduced, transformers became second-class
citizens. They do not play well with rules, they introduce annoying
additional code paths in the implementation and they are plain broken in
several aspects. Now that rules with no inputs are supported, we don't
need transformers anymore.
Task-number: QBS-885
Change-Id: I316d8cffc91bb529f82350edc0b08358a80ae3fd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ife3f9c53ad3fb43364c53fe7c6c08aa3983b9221
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This solves the problems with print() going to unredictable streams on
some platforms due to possible QtScript bugs.
It also provides logging integration with IDEs, and stylizes error and
warning output with "ERROR: " and "WARNING: " prefixes and colors in
color-capable terminals.
Refactor autotests to accommodate.
Task-number: QBS-548
Change-Id: I11767d51d3c2e7a97ca2b67e54377350aec2458d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consider the following situation:
- There is a property change in a source file.
- The property change turns out not to affect any
transformers, so a null build should be the result.
Without this patch, the following happens:
- The build graph loader invalidates the restored product which the changed
artifact(s) was/were a part of and stores the corresponding rescue data.
- In the executor, all artifacts in this particular product will be rescued
and nothing will get re-built, as expected.
- However, if other products have a dependency on the product with the change,
their inputs from this product will show up as "newly added" in the
rule node (because the respective artifacts were removed from the
"old artifacts" list by the build graph loader). As a result, the rule will
be re-applied, and as part of that the timestamp of the output artifact
will be reset, invalidating the artifact.
- So the artifact in the other product will get needlessly rebuilt, as will
all artifacts depending on it.
The effect of this patch is:
- Because we have marked the depending product as changed, there is rescue
data available for it, and the timestamp will be restored to its original
value.
- Therefore, nothing will get rebuilt that doesn't have to.
Change-Id: If78fba0e6c1d2c352afb36f4eedc0c1d8d915a74
Task-number: QBS-791
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the foundation for better bundle support, including static
frameworks, loadable modules ("bundles" i.e. plugins), and custom
bundle types. This also simplifies the difference between bundle and
non-bundle product types from a Qbs user's perspective, and allows more
fine-grained control over the construction of and use of bundles.
This patch also implicitly adds support for static frameworks.
Task-number: QBS-643
Task-number: QBS-642
Change-Id: I65d8d7040603a6ea0ff2c11360234eba6802ad35
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
This property is actually a file path, not a mere name.
Task-number: QBS-579
Change-Id: I04e8f03eac97b5f86fe743a4923888a3d2a82c5d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
This fixes the recently introduced deprecation warnings.
Task-number: QBS-258
Change-Id: I10660270895ec89a1444d596922c22e9658ca3ab
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
And use the stored information in change tracking.
Change-Id: I7f9be7798a1d93acc3694a25c7ba0fc92cdc66b0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
We must always go through all transformers, even if we already found one
that changed, because the ones that have changed must be invalidated
individually.
Change-Id: I9825eae5c77730febe3335aa8b9c5b028f427365
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
We currently do this only for the prepare script itself, not for the
JavaScript commands within.
Change-Id: I219b77d3b1e5db39053afa3c9d1ead2dd6406de3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Change-Id: I5aec3b2e3d7f844c923acb7950300ac0884cc829
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\
| |
| |
| | |
Change-Id: I7475c4a71c15c83c59400c44ef96d73d15caea58
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will cause rebuilding if, for example, a rule in a module that
the product uses gets its source code changed (and the rule is actually
being used).
Change-Id: I009685c85fcc8fa0ae3ecc7c32194685a1558104
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|/
|
|
|
|
|
|
| |
We use camel case everywhere else.
Change-Id: I8a67f1d44659d59e612c0eaced0628c6d34d5b47
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I3eea1f0ef0da789550fba046e1f806b29bae3a6d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
They are currently ignored.
Change-Id: I94b89f9b7c6838106670d553429b297823ac861f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In detail:
- Fix the build config comparison function so that it not only
checks whether keys present in both maps are the same, but also whether
there are additional keys in one of the maps.
- Do not abort loading a restored build graph when the comparison
fails; instead, handle that condition the same way we handle changes in
build system files, environment variables etc; that is, re-resolve the
project and check whether the build data needs to be set up from
scratch for any products.
- Take overridden properties into account when comparing the
old and new property maps. This has no effect on the command line
client at the moment, because it does its own merging, but
other API clients will benefit.
A particularly nice "side effect" of this patch is that changing
properties on the command line now works as expected with regards to
change tracking.
Task-number: QBS-374
Change-Id: I55583fb7a2ae78b80de225b09aa559229d851339
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Also fixes a bug when comparing file lists in products and sets up the
infrastructure for additional checks.
Change-Id: I65b15620e12651ed845a102eb5bfe98f9be458a9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
Fails currently, as the feature is not yet implemented.
Change-Id: Id052f756803b687aaf882e444f076b1c7d6e4d86
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
Known not to work correctly at the moment.
Change-Id: Iecde14cdf7e1a55277e840d98563167ab43504f3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|