Clean up ServiceType property usage for JSON based plugins
Open, Needs TriagePublic

Description

With the install namespace and the JSON metadata this is obsolete.

Especially that we explicitly define the service file in the kcoreaddons_desktop_to_json command and don't have any version checks which install the old desktop file we should drop those completely. That also includes removing the unneeded filtering of the plugin meta data based on the service type, like in https://invent.kde.org/plasma/kdeplasma-addons/-/blob/master/dataengines/potd/potd.cpp#L52

alex created this task.May 18 2021, 8:16 PM
alex added a project: KF6.EditedMay 19 2021, 4:55 AM
alex moved this task from Backlog to In Progress on the KF6 board.

Cleanup of the C++ code:
https://invent.kde.org/frameworks/kio/-/commit/42664c0a408e38a6d6a992756288e972a3f80900#51600055525abe6783ac71d35337895019a4eec4_779_758
https://invent.kde.org/plasma/kdeplasma-addons/commit/a98e6827ec7565a1b297947cda60524cfda9552c
https://invent.kde.org/libraries/kreport/-/commit/d4433df881a90a52335a6ff29bd38fa7bbac0713
https://invent.kde.org/education/artikulate/-/commit/6e2df102fcd76f1e9f2c96f2aa8dbd7c12eadcba
https://invent.kde.org/kdevelop/kdevelop/-/commit/4109cad80592d0ff610b626a934f801dc94de0da
https://invent.kde.org/network/kget/commit/06f334d428d1cad419369cfeb6e3685ceae5291f

Cleanup of the data files:
https://invent.kde.org/pim/akonadi-import-wizard/commit/1f3695f89bc68c7076fda0bc9bcfe66c8b5f6358
https://invent.kde.org/libraries/kreport/-/commit/29627b3b7d0b74ab5534c1f3e08d39e0a5d8c70d
https://invent.kde.org/plasma/kactivitymanagerd/commit/11be786e6367af426d3b4d9cbff60b4c18e85730
https://invent.kde.org/utilities/ark/commit/2beb8b96e24391192d8b5f1b1514a93dc4ecd9e1
https://invent.kde.org/education/cantor/-/commit/77df962b0f94e877510ea1bdf347cc888dcfb0be
https://invent.kde.org/pim/kdepim-addons/-/commit/95186ed513a76402b8539f833ed7beed4fdcb799
https://invent.kde.org/graphics/okular/-/commit/8b13d989c638860741e78e4a1560c57569a93ac0
https://invent.kde.org/education/artikulate/-/commit/804ed9fb2fe2c3bd73d18e5df5122d931a8494c4
https://invent.kde.org/kdevelop/kdevelop/-/commit/95706f9d378b56c9f69e8c0a205b3934d7b14e13
https://invent.kde.org/games/palapeli/commit/a39f151a8304ee0b3b5ba3fa5243ad5b100b5029
https://invent.kde.org/kdevelop/kdevelop/-/commit/1878d133e889d9827bc78890bd9b4c17b6b540c6
https://invent.kde.org/multimedia/k3b/-/commit/82ff5ac791285d0d30a4d550cae42241a3fe155c
https://invent.kde.org/sdk/dolphin-plugins/commit/0b834abdb66e5a3e6b5af0a812d511a673f62498
https://invent.kde.org/plasma/kdeplasma-addons/-/commit/580e19f9b17841a381be6bf92d5966fcf1991969

alex added a comment.Jun 9 2021, 5:09 AM

Valid usages so far:

  • KDevelop checks the ServiceTypes for plugins in the ktexteditor namespace to figure out which of those plugins should be enabled
alex added a comment.Oct 31 2021, 7:37 PM

Cases that need investigation are kde-connect, kmymoney and kwin.

alex added a comment.Nov 1 2021, 7:47 AM

The KMyMoney changes are part of https://invent.kde.org/office/kmymoney/-/merge_requests/122/.

KWin uses it for the kpackage types. T14563 touches this topic, but here the porting needs to be done on the consumer side.
The usages in KPluginMetaData::findPlugins are most likely just leftovers, because all the plugins are properly namespaced already.

In kdeconnect it is a workaround supporting static plugins, with T14727 we could have a cleaner solution

alex moved this task from In Progress to Done on the KF6 board.Feb 18 2023, 7:14 PM