And a few helper classes. This allows SdkTool being build
without Creator's Utils, and does not impose restrictions
on the development there.
Change-Id: Id15db9293f343ad2aeee5c09cc819d112ec144e4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Specifies the main purpose more clearly. The remaining ones a "true"
(internal) variants in models and as action data.
Change-Id: I8dd3c846e419f29d88283c2f48268ef6685b19fe
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I88edd91395849574436299b8badda21bb93bea39
Reviewed-by: hjk <hjk@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Moved all sdktool code into a static library, allowing us to link against the actual functionality in unittests
* Convert all tests to proper unittests
Change-Id: I5c93be0faecbd8b68e0923655483c870a2f408b5
Reviewed-by: hjk <hjk@qt.io>
QDir::cleanPath() doesn't work well with the scheme://... syntax.
Change-Id: I2d2a86e416251ea2396b67ab1e5831444d4a979a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This was removed in 6baf09bf91.
Even though sdktool doesn't need to write these old IDs anymore, it
still must support them for --language for a while, because older Qt
installer components still use the numerical values (and will not be
updated).
Task-number: QTBUG-92949
Change-Id: I7483e52e331fe676b60d7b401f8a6f6510fd1789
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
As data point: Ubuntu 18.04 has Qt Creator 4.5.
Change-Id: I2794197e511666b3931fb8efc2669a574e6f1ac9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
For some reason, Q_UNUSED includes already a semicolon, adding one
on the user side creates an additional empty statement.
Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The names for registered Qt, cmake and toolchain must
no more be unique.
Amends e9e4c27e3a.
Change-Id: Icea00636f3632148f209616de3473816e12e4655
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
sdktool made the "display names" unique by potentially adding a number.
This has multiple drawbacks:
- The display name can contain variables that lead to
unique _expanded_ names
- Adding a number doesn't really help for distinguishing things
- That number is then hard-baked into the install settings
Installers should take care that they register identifiable names.
And if we really want to ensure unique names, then Qt Creator can do that
itself, or even better leave the user to do it, because a number doesn't
really help anyhow.
Fixes: QTCREATORBUG-17909
Change-Id: Id0f44c0cbe457047a0713bda4980fb5d4bc5bcaa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Make sure the toolchains xml file written by sdktool is compatible
with both Qt Creator 4.2 and 4.3 by mapping the --language field
accordingly.
Change-Id: Ie8c289c8fe7d49ce95e924e89b4e369a62469e64
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
All internal paths in Qt Creator are using '/' as path separator.
Make sure to normalize paths set via the SDKtool to that convention.
Change-Id: If7ef250d49686a0f60d08516b718eb7c84a059ef
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
With commit 5aba7fb095 the sdktool started to save id's in a QString
(instead of a QByteArray). Commit b2e3f0262b then adapted also the
parsing. However, this broke the parsing of existing settings still
using a QByteArray.
Task-number: QTCREATORBUG-14545
Change-Id: I6c991d9d130602c7e9b3146b4d7b17555056a8ef
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Use --env TEST=somevalue or --env TEST (to unset TEST) once per
environment variable you want to set/unset.
Task-number: QTCREATORBUG-14342
Change-Id: Ia968aeb55a9702d12bc0beb9a38bdd8309a18559
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Check for existing Qt versions, toolchains and devices if
those ids are given.
Change-Id: I0447d55e01cc40e43669ba7999126b0260974c0b
Reviewed-by: Rainer Keller <rainer.keller@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Negative return values are interpreted as 'process crashed' on
Windows: QTBUG-28735 . This in turn means the installer framework
always shows an error dialog.
By using positive numbers even for error conditions the installer
can decide to ignore certain errors instead.
Change-Id: Ib5cdd461372ac13fe417feb6ff43a7424c159f68
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Add a tool to ease configuration of Qt versions, tool chains
and kits with Qt Creator for the SDK and similar systems.
Change-Id: I9727dd25ea359a935ea494b035a59411eb3529b8
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>