| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Ide8cb42abc270bb691b2f4caff6412531cbaf50a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- install latest vs2019 compiler
- install latest win10 SDK
- add vswhere to simplify searching VS
- update Qt to 6.2.4
- update Qbs to 1.24.0
- drop support for 32-bit packages in choco
Change-Id: I0a57baf160307b84e62fea5c56687efcce7fe42c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newer clang versions seem to expose serious bugs in QtScript, whose
complexity makes it difficult to track them down.
We therefore switch to the more light-weight QuickJS, which offers all
the features we need (most notably property access interception), as
well as good performance.
To save some porting effort, we removed the long-deprecated loadFile()
and loadExtension() functions.
During the porting procedure, we noticed and fixed thread safety issues
in artifact access from JS commands.
We consider this change important enough to bump the major version, so
the next release will be 2.0.
Detailed benchmarking data is below. In summary, we see a modest speed-
up at the cost of a similarly modest increase in memory consumption
(with the exception of project resolving on macOS, which has become a
bit slower). Importantly, the increase does not rise with project size,
as the comparison of qbs vs Qt Creator shows.
Output of qbs_benchmarker on Linux with qbs as test project:
========== Performance data for Resolving ==========
Old instruction count: 12870602895
New instruction count: 11923459780
Relative change: -8 %
Old peak memory usage: 61775848 Bytes
New peak memory usage: 67583424 Bytes
Relative change: +9 %
========== Performance data for Rule Execution ==========
Old instruction count: 4074062223
New instruction count: 3887473574
Relative change: -5 %
Old peak memory usage: 35123704 Bytes
New peak memory usage: 38398392 Bytes
Relative change: +9 %
========== Performance data for Null Build ==========
Old instruction count: 1104417596
New instruction count: 1011033948
Relative change: -9 %
Old peak memory usage: 24461824 Bytes
New peak memory usage: 25325920 Bytes
Relative change: +3 %
Output of qbs_benchmarker on Linux with Qt Creator as test project:
========== Performance data for Resolving ==========
Old instruction count: 67166450352
New instruction count: 60772791018
Relative change: -10 %
Old peak memory usage: 327011616 Bytes
New peak memory usage: 343724176 Bytes
Relative change: +5 %
========== Performance data for Rule Execution ==========
Old instruction count: 71684351183
New instruction count: 67051936965
Relative change: -7 %
Old peak memory usage: 374913688 Bytes
New peak memory usage: 387790992 Bytes
Relative change: +3 %
========== Performance data for Null Build ==========
Old instruction count: 8383156078
New instruction count: 7930705668
Relative change: -6 %
Old peak memory usage: 180468360 Bytes
New peak memory usage: 182490384 Bytes
Relative change: +1 %
Real-world data building Qt Creator (using qbs --log-time, several runs,
removing outliers):
macOS:
Resolving: 43s -> 47s
Rule execution: 17s -> 14s
Windows:
Resolving: 18s -> 16s
Rule execution: 22s -> 17s
Fixes: QBS-913
Fixes: QBS-1103
Fixes: QBS-1126
Fixes: QBS-1227
Fixes: QBS-1684
Change-Id: Ie5088155026e85bbd1e303f1c67addb15810a3cb
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
|
|
|
|
|
|
| |
clang-8 fails to compile Qt 6 code, so update it.
Change-Id: Ib0d25c961738ec7549856366b27ef62f87cb910d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I098072d593d927d52b56e06d48e3fbe018c072a4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ic0a05c8d97e77f441e6efdd1216715d2479cdb10
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add docker image focal-android-630 and corresponding github action.
Update ANDROID_PLATFORM to "android-30" because Qt AndroidManifest
uses property allowNativeHeapPointerTagging (QTBUG-97009) since
6.2.1 which was added in API30.
Also update android test because bug QTBUG-97834 was solved in Qt 6.3.
Change-Id: Id45701433a779d2c6cb8dfdbfb0676e2daad6f88
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
| |
Add qt6.2 docker image and github action
Fixes: QBS-1534
Change-Id: Ia1675697fbd6bcbaabfafc11940bf5cb9447206b
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
| |
Change-Id: Ib48209643b755954f0f38c3f1bcfb487e23cf292
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New docker images are added to test different android ndks. Those
images don't have Qt so only a subset of the tests are run.
So far I added 3 images: r23 (LTS), r21e (LTS) and r19c
(minimum one).
The other android images also have a new ANDROID_NDK_VERSION
argument set to the r23.
Change-Id: Iaa7c80b9cac1c7888b3297fac13333d22a9ad0bc
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
| |
Also, remove unneeded command
Change-Id: I952bd7bc2bf1e5fac9de140ad160b6cd25539b40
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
|
|
|
| |
It is nice to have a configured RPM-based distro for local
testing.
Change-Id: Id6eeae1d0d5bccc27f240f996d6f9ea1b56aa1b0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I1f05ae51f30f0158cb3dec6ce189d96f52987c7a
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
| |
...to add additional packages required for the Qt6 image
Change-Id: I42791440eaa754a1ae4ea3c24f86dd0ccedc1ed6
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|\
| |
| |
| | |
Change-Id: I4e437865514add88558f66420718bc02fb39e41d
|
| |
| |
| |
| |
| | |
Change-Id: Ied6d9eac49fcb20de72499ab7c39e83a90a98b75
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: Iff317ec5e4a06e9fc9ae4e0a20c6e55656af2855
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
| |
Change-Id: I810f6b6c263a1b5ade0ece35e57f6ad30b2864ed
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
| |
build-tools: 29.0.3
NDK: 21.3.6528147
SDK Platform: 29
Change-Id: I6d281aa2e914d7567fa2d57698146465b41838d7
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Manage the new directory layout of Qt6.
Update generation of the input file for androiddeployqt.
Fixes: QBS-1613
Fixes: QBS-1609
Change-Id: Ie633fad467f310bfc4cd42e9c32d9cfc2e734582
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
| |
Change-Id: I4dcfbe846f7847874908ed8ad84ac615a5a739c1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
To be able to run Qbs with sanitizer
Change-Id: Ia098a419a001ebbea039281ff20ccbc11198226a
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows to build Qbs using CMake build tool
Tested platforms
- Linux (gcc)
- macOS (clang)
- Windows (msvc2017)
Missing features (compared to Qbs build)
- Documentation build
- Bundled QtScript support
- Static build
- .pc file for qbscore
- qbs module for qbscore
Change-Id: I09b5dadd6723d5a47e5ef2a9a38d3300488718f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a basic 'docker-compose' <focal-baremetal> configuration which
allows to produce the bare-metal tests.
Current docker image contains the following toolchains:
* gcc-arm-none-eabi
* gcc-avr
* gcc-msp430
* sdcc
Change-Id: I7e020081dcb763d704c309ffd96fa03b3c56e4fb
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Richard Weickelt <richard@weickelt.de>
|
|
|
|
|
|
|
| |
This allows to run capnproto tests on Linux
Change-Id: I1c500063f13f4aecc16c088f91d3ce790c750abf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Cross-builds with MinGW on Linux are dropped mainly because of build
issues and because MinGW support bloats the resulting Docker image. We
have CI jobs running on Windows with MSVC and Clang-cl which should be
sufficient.
Change-Id: Iac4e0eaf1270844836697bebf52f9c056457caaf
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
This patch adds the Android.sdk packageType property which sets the target application.
By default (previous behavior) qbs generates an apk package. When set to aab, qbs generates
instead an aab package
Change-Id: Ic09776d08e2a2ecd68fb4c08881201a7a0a25240
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5856b6d6edcf37a9af9dada72271caff60f311f2
Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ie3f341fe18e2ffaf676721748279c6b027590727
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qbs used to have docker products and a module for building the images, but this
became obsolet and was superseded by the docker-compose infrastructure.
Docker-compose is a much better fit for our use-case (which is mostly CI). It
allows us to use unique (and complicated) tags both when building and running
the images without exposing that to the user. Unique tags like
bionic-5.12.6_1.14.1-2 instead of just bionic ensure that changes in the
infrastructure don't suddenly break builds in older branches using the same
image.
This patch also updates the documentation to emphasize the usage of
docker-compose.
Change-Id: I45335d37034d10dda5ab5079ee3be1f81cb3e5c5
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have not been able to build Qbs with it for a while and it was superseded by
Ubuntu Bionic.
Change-Id: I8fe0d40baf8f522d4fd0b94a0b403b324c300e74
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
|
| |
This enables autotesting the GRPC test in Travis (otherwise, headers are
missing and IncludeProbe fails to find them)
Change-Id: I77792a2c5dbfc3f73020b7964cca3274a5165c3c
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt is updated to 5.12.5, MSVC is updated to 2017. Qbs is updated to
1.15.0.
Docker-compose is used for managing the image. A unique tag name is used
instead of the generic windowsservercore tag to be always able to refer
to a specific version. Docker-compose is now used for managing the
image.
Change-Id: Ia5733992e7692561b1a6e74a4ac2ea3a7a01c4d8
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This is needed to run Qbs binaries created with
qbsbuildconfig.enableProjectFileUpdates:true.
Change-Id: I9a5f5065df46e90d54bd47d8559fc36cf58fa590
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I2f0d72abdf12a4e64b79bf9a3c02b32cf4cbeed6
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I21691196660a6f5650f6328abe43ec2269a09dbc
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Docker images contains ndk r20 and qt 5.13.2 as well as 5.14.0. Containers
can be started with the following command line:
- docker-compose pull bionic-android-513
- docker-compose run --rm bionic-android-513
The current folder is mounted under /qbs. Assuming that Qbs has been built in
the current directory and with release configuration, the autotests can be
invoked with:
docker-compose run --rm bionic-android-513 scripts/test-qt-for-android.sh \
release/install-root/usr/local/bin
A job Travis CI job is added which builds Qt and runs the Android blackbox
tests.
Change-Id: I76b1901cb7c41f8b5b0122265c99c9b37b59f261
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Requied to be able to run clang-tidy
Change-Id: Ie0b6eb3229e8a93ea2e7dd10d75824fb40702fa6
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This speeds up CI builds a lot.
Change-Id: I53962e1683b4dd923c3a7d254db24164a4e623a6
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
The GLIB event dispatcher was disabled in order to work around
QTBUG-79020. But the environment variable was not exported properly
and hence, the work-around had no effect.
Change-Id: I9bad99168456ae734c895db0ed4f46885d6b4d48
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update qbs to 1.12.1
- Update Qt to 5.12.5
We're not using the installer anymore, because
a) the unattended-install-hack doesn't work for newer Qt installers
b) newer installers do not provide VS 2015 builds.
c) it allows us to tailor the Qt build to our needs in the future.
We're not building the documentation on Windows anymore due to the
genius move to require libclang for qdoc. That means we need
additional twiddling with the packages to add documentation that was
built on an usable OS.
Task-number: QBS-1438
Change-Id: I77a487562c2f5edd69b8b8a10ef3410ab599dc92
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable glib in the bionic Docker image, as the glib event
dispatcher leads to deadlocks in
TestBlackbox::concurrentExecutor quite often. The problem
should hardly occur in practice. This is a work-around until
QTBUG-79020 is fixed.
Fixes: QBS-1499
Change-Id: I8cecc979b1c13b053c0ee0787cc4bc0a0de8b701
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes it possible to start the container on a Linux host
where the uid/gid of the current user is similar to an
existing uid/gid in the container that is not the "devel"
user.
For instance, if the host gid is 100, then groupmod in the
entrypoint script refuses to change the "devel" user to gid
100 because that gid is already taken by the "apt" group in
the container.
Change-Id: Ifc4980b118b9b94bf744aa1108225d3c727eb644
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Contains:
- Qbs 1.13.1 (from QtCreator 4.9.2)
- Qt 5.12.4 for Linux (prebuilt)
- Qt 5.12.4 for Windows (compiled from source)
- gcc 7.4
- mingw-w64 (7.3)
This image can build Qbs and all its components for Linux
and Windows targets. It might supersede Debian stretch which
is not officially supported by Qt 5.12.
The only limitation is that it can neither build Chocolatey
packages nor run windeployqt.
Change-Id: Icee1f002483f68839d39c8c152a9c5d886dabcfb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use the official packages instead of compiling Qt ourselves.
This simplifies the Docker image a lot. For accessing the
script folder, the Docker context needs to change to the
root directory. Thus, we need a .dockerignore file to keep
the size of the context low.
Change-Id: I58ec8f364feba955518f1eaf5bff234332ae8dec
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Libasan requires ptrace capabilities when running in Docker
- Provide a suppressions file
- Update stretch Docker image to build against libicu and match
the configure options of the official Qt release. Otherwise
the address sanitizer fails when Qbs loads plugins.
Change-Id: Ib620187a3cdd486eaf646ee0bd022b811744a998
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Extend Qt installation to enable Qbs autotests and building docs
(QtDeclarative and QtTools, libclang were missing).
- Add Qt to PATH in the container
- Allow users of docker-compose to override the Docker username
so that they can potentially use their own repositories
without changing the file.
- Fix error in the entrypoint script which didn't work when
running the container without arguments.
- Replace the non-interesting output of building Qt with dots because
the log exceeded the maximum log length on Travis CI,
but being entirely silent triggered the watchdog.
Task-number: QBS-1438
Change-Id: Ibd3abacadfc001db5169a9a3fffce908f8e6e760
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Debian Docker image is outdated and the user experience is not optimal,
especially when using it on Linux hosts.
- Update Qt to 5.11.3 and build it from source since the Qt installer
is overly complicated to use
- Create a Qt profile and make it the default
- Add entrypoint script to avoid file permission problems on Linux hosts
- Add docker-compose.yml file for easier command line usage
- Improve documentation
Task-number: QBS-1402
Task-number: QBS-1438
Change-Id: I2cbe53ed115fc8cbb96c1e1305297c581e7d0589
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Document it, and install the dependencies in the Docker images.
For the man page build, the installed version of the qbs app is now used
to get the help text rather than the non-installed version, since the
non-installed version may not be able to find all library dependencies
(like Qt) on some platforms by default. The build also now depends on
the other executables as well since their presence affects the output of
qbs --help.
Change-Id: Ic9896231aa76a346180bf30f7b2483391f5e4ea0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I360fbab406a0bd82dd0a09462585681625c1539c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|