Commit Graph

21 Commits

Author SHA1 Message Date
Dominik Holland
c81efc39c8 Create RunConfiguration specific DebugWorkerFactories
Instead of relying on the DebuggerRunWorkerFactory to match for all
RunConfiguration, every plugin needs to create a WorkerFactory for
its own RunConfiguration.

Similar to the SimpleTargetRunnerFactory there is now a
SimpleDebugRunnerFactory which makes the setup easy.

Change-Id: I25aaabcd70f7ac649baeab4eb4c7e88d53dac91e
Reviewed-by: hjk <hjk@qt.io>
2024-01-17 10:17:41 +00:00
hjk
5c52bdd0e9 Meson: Hide plugin class definition in .cpp file
Not meant to be used outside.

Change-Id: Ic9de5cd19d01e25c2d24ee3b03dd60c61fc6f205
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-10-02 12:24:37 +00:00
hjk
071416fde3 Meson: Move some code out of visible plugin setup
Background for the activity here is that this plugin's setup activities
take on my machine around 0.2s on Creator during Creator startup and
I'd like to reduce that a bit.

Change-Id: I880a0b5ce5c4dce52a041b6a3ef9dc3cef346adb
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-28 07:04:03 +00:00
hjk
b509006d1c MesonProjectManager: Hide KitAspectFactory implementations
Change-Id: I7ba81771475905f63f4696b3d9073311eea0ee0a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-21 09:54:21 +00:00
hjk
bb06155f09 Meson: Rename some of the KitAspect related classes
... and split out the static interface.

Change-Id: Iaa92ab8e0b29e47736af6c2b5ed146369f2d7294
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-11 07:00:43 +00:00
hjk
3e2e0d9393 Meson: Delay settings creation
Change-Id: Ib4de981670c9f70e5ddd4c6e0b31bfd4b6a61851
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-19 05:14:01 +00:00
hjk
38c3abb774 Meson: Move MachineFileManager near build system
Closely related

Change-Id: Id561dccd909bb4dc53e1a55d6ee77d008e5c4078
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-07-12 15:38:33 +00:00
hjk
c2fcd17e91 Meson: Simplify settings setup a bit
Also some surrounding code.

Change-Id: I9f537a4357ab76295b7cb4f6a69749a0a6b55392
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-05-30 11:23:42 +00:00
hjk
118b84ffd6 Use simpler Plugin::initialize() when feasible
Change-Id: I567965d266f20526bda9f823e31a04b354d53fb1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-20 12:13:10 +00:00
hjk
f08b5727dc ProjectExplorer: Introduce and use convenience factory class
... to create SimpleTargetRunner runners for a single run config.

Change-Id: I8af3d7cdcaf54f0584af948aa6e0fa015d1a3077
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-01-10 12:02:51 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
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>
2023-01-06 11:15:13 +00:00
hjk
5e786d444d Meson: Flatten directory hierarchy
Keep tests/ and icons/ but put the rest into the toplevel.

The previous setup was so different from the rest of the bunch that
it regularly stuck out in maintenance tasks.

Change-Id: I69821be6268f69682353a388f6bb1fa343215303
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-10 06:08:57 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
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>
2022-08-26 12:27:18 +00:00
Marcus Tillmanns
3462bc67be filesystem: Add QFSEngine for filepaths
Change-Id: Ibd0c88c69863c0877138d8cc45541530c359bd9c
Reviewed-by: hjk <hjk@qt.io>
2022-07-21 13:14:01 +00:00
Eike Ziller
173363b616 Meson: Fix settings saving
Amends c24291648b

Change-Id: I0f80e1483c0550d7ec3add0f9869eb96c758052b
Reviewed-by: hjk <hjk@qt.io>
2022-07-08 09:11:31 +00:00
hjk
2496ffe3ce Code cosmetics
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>
2022-06-24 14:44:13 +00:00
hjk
c24291648b Meson: Aspectify general settings
This follows suit which what is currently happening in other plugins.

Change-Id: I5fb75e23d7d6add632cd07c732131b4f9793d345
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-04-01 12:11:17 +00:00
hjk
eedb702bb9 Meson: Make spacing and #include ordering a bit more consistent
Not 100%, but a step forward.

Change-Id: I6957edbd24c1652b228a96a68424b857603aae45
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-03 09:18:10 +00:00
hjk
9c930ac744 Meson: Cleanup mesonprojectplugin.*
Some unnneded code + final.

Change-Id: Ied2a29d20c624b8e5e2eefb56253b0412554ad44
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-06 07:47:43 +00:00
hjk
beee392dd8 ProjectExplorer: Consolidate RunConfigurationFactory::ids
It was already only one id string with two names. Since it is not
an id for the factory but the id of the created run configuration,
settle of  runConfigurationId() as accessor.

The factory and id fields in RunConfigurationCreationInfo were
redundant. factory always implies (runconfiguration)id (but not
necessarily the other way round, in theory different factories
are possible for the same runconfiguration type for different
devices). So drop the id field here.

In one case now factory pointers instead of ids are compared, but
this is neutral there as this happens in a context of a fixed Target,
device and project are fixed there, so id and factory are equally
unique.

Change-Id: I859aa91486a2dd4abfc7369540a3322d6ec6260d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-06-15 12:13:38 +00:00
Alexis Jeandet
77d7bb5014 Meson build plugin initial support
Most basic project management is implemented:
- Project config/build
- Build options accessible to user
- Lists most build targets
- Meson and Ninja added to kit setup
- Basic project file tree with files known by Meson
- Some basic meson and ninja process output parsing
- Some project templates

Missing features, that will come later:
- Configurable project tree layout
- Locators for Meson
- Build importer
- Access to Machine files for better user fine tuning
- ...

Fixes: QTCREATORBUG-18117
Change-Id: I2811e71562c113fb0fc6b6177bcf0698fa71ef63
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-06-08 09:55:17 +00:00