This deploy step will run the qmlprojectexporter commandline tool
on the currently active qmlproject if qtForMCUs is set to true.
The output of the tool is shown in the "Compile Output" panel.
Possible configuration issues are shown in the "Issues" panel.
Note that the step is not removed from the list but disabled when
setting qtForMCUs to false in order to retain possible changes made
by the user.
Change-Id: I03b0d6fbe420b49400d48e7365d4395491b9aa2d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Before the fix when the user uninstall a target, kits of the target will
remain visible on kits screen and can be selected when configuring a
project which is not a good user experience.
This change will use infobar to notify the user about the existence of
kits for uninstalled targets and ask the user if these kits should be
removed.
The change uses the fact that a kit description file have the
naming convention "toolchain-vendor-device" and compare it to the kits
exists in profile.xml. If a kit exists in profile.xml but its
description file doesn't (which mean the target has been uninstalled),
it will be removed from kits.
Task-number: QTCREATORBUG-28921
Change-Id: I9d4d1687429f26b6a42b77c5aa398f6bca5455d5
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
The status message notifying that the input.json used to generate
the project tree in an MCU qmlproject is not interesting to most
users, and it is shown several times if using modules. Removing
it gets rid of some clutter in the General Messages output.
QTCREATORBUG-28824
Change-Id: I8b97aeff7b872e52e260f035f7f48144a8caf167
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... out of SessionManager.
The idea is to later move SessionManager into the Core plugin,
which both is sensible conceptually and also prerequisite to
merge the Bookmark plugin into TextEditor plugin.
Currently, only the interface is split, as the load/save
implemetations are non-mechanical to disentangle.
Change-Id: I31631db3094ea192825a2ccaa6add6188662940b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
CMake project relies on the CMake's file-api to fill the Project View,
QtMCUs 2.4 will be using a different method to read input files (Qml,
Fonts, Images, Headers...) using qmlprojectexporter process, that
process is still called from CMake thus a CMakeProject is still used in
QtMCUs kits, but unlike previous versions add_sources is not called on
QtMCUs target making the list of input files read by the file-api empty
and as a result an empty Project Tree.
This commit extend uses the SessionManager to listen to when the the
projects are loaded and then use input.json file to populate QtMCUs
projects trees for projects using qmlprojectexporter the same tool
generating input.json .
Task-number: QTCREATORBUG-28516
Change-Id: I30a9daf1032e727692b8d71d01ab65634d0ae2a6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@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>
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>
Mostly unused #include's, also sort them or reduce scope.
A few namespaces, ...
Change-Id: I9ee71e07de7157c9942125672addf87dd41e78f1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
There should be no significant activity in a plugin before
the initialization phase.
Change-Id: Iee2bcff4644ac07c3867fa59ce6613e128bd0390
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Fix crash while automatically restoring kits during startup.
Change packages container to set to avoid duplicates.
Use RAII for McuSdkRepository.
Change-Id: I4b3f4156f0bc770c8a5ea8a171b1f22f6ffb8f96
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Starting with Qt For MCUs 2.0, environment variables are not
used to track dependencies any more, but cmake variables are.
Due to time constraints, we implemented a env-to-cmake mapper
to cover that gap at the moment. This patch removes that hack
and implements tracking dependencies through cmake variables.
Task-number: QTCREATORBUG-26904
Change-Id: Id8553a764d212d9b12e4adc54fc56233bfeb9a5b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Several independent classes were mashed together in mcusupportoptions.cpp
This patch moves McuToolChainPackage together with McuPackage,
McuTarget to its own header+source pair, and
McuKitManager to its own header+source pair.
Task-number: QTCREATORBUG-26890
Change-Id: I0b51da4e1cae5a976201dffd290a665eaa318b33
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Introduced Package interface for mocking purposes.
Made some functions visible in headers for testing.
Added basic test skeleton for mcu plugin.
run cmd: `qtcreator -test McuSupport`
Change-Id: I1011d49052bd8c894da393d8a285b241682f1f94
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for
decorations in user code.
At the same time, drop some convenience constructors and functions
in CommandLine and Icon essentially serving the same purpose.
Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The only reason it was required to be in Core plugin, was its use of Id,
which now is available in Utils.
Change-Id: I66ce863c24924e6448d339b3422538a7fe167336
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
When installing Qt for MCUs via the SDK installer, the user (in many
cases first-time evaluator) has to create the kits for Qt for MCUs. For
those who see Qt Creator for the first time, it is difficult to find out
where to search for the UI that generates those kits.
Let's help the user with an InfoBar entry that in case of ...
* McuSupport plugin being enabled (by SDK installer)
* Settings key [McuSupport]/Package_QtForMCUsSdk set (by SDK installer)
* Absence of valid Qt for MCUs Kits
... helps to directly open the right page and tab of the Options dialog.
Task-number: QTCREATORBUG-23943
Change-Id: I7d4834633b1b94ef663d62cd395ee071bd123f1f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This change introduces the registration of examples (or rather demos) of
the Qt for MCUs SDK at the launch time of Qt Creator.
This presumes that either the SDK installer set the Qt for MCUs SDK path
(which is the default use-case) or that the user selected/changed the
SDK path in a prior run of Qt Creator.
Task-number: UL-1218
Change-Id: I6484d3e3065f501da4cd6faccfe02605003f6cbf
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
At plugin initialization and along with the creation of a Qt for MCUs
Kit (which currently happens when the user presses "Apply"), these .qch
files get registered:
<Qul_DIR>/docs/quickultralite.qch
<Qul_DIR>/docs/quickultralitecmake.qch
In order not to duplicate the code for retrieving package paths (e.g.
the one for "QtForMCUsSdk") from the settings, some refactoring was
done.
As a result McuSupportOptions::qulDirFromSettings() has been introduced.
It will be also used in further changes.
Task-number: UL-1685
Change-Id: I82e638e129120cdadcf2f4812f467fce34b32ec9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Medium term to be merged with BareMetal/RemoteLinux/...
Change-Id: I444c65bcfa8e3cf8642ff64e964459720814860a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>