D23682: Make use of KPluginMetaData where we can
kossebau added inline comments. INLINE COMMENTS > containmentactions.h:67 > > +#if PLASMA_ENABLE_DEPRECATED_SINCE(5, 64) > /** The visibility wrappers also need bumping to 5, 67, so the version were the API got deprecated, to not break things for people who use *_DISABLE_DEPRECATED_BEFORE_AND_AT with 5.64-5.66 and who still use this API. Will fix directly now. just mentioning here as reminder for future similar deprecation patches. And yes, this data duplication sucks, but no-one found a way around yet for this macro magic to have the features of control both about visibility and warnings separately. REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma, mart Cc: kossebau, broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
This revision was automatically updated to reflect the committed changes. Closed by commit R242:591aceb3f926: Make use of KPluginMetaData where we can (authored by apol). REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D23682?vs=73322&id=73323 REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES src/plasma/CMakeLists.txt src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/scripting/dataenginescript.h src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma, mart Cc: kossebau, broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol updated this revision to Diff 73322. apol added a comment. Addressed kossebau's comments REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D23682?vs=68546&id=73322 BRANCH arcpatch-D23682 REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES src/plasma/CMakeLists.txt src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/scripting/dataenginescript.h src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma, mart Cc: kossebau, broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol marked 8 inline comments as done. REPOSITORY R242 Plasma Framework (Library) BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma, mart Cc: kossebau, broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
kossebau added a comment. Also some nitpicks on the style... remember that API dox tool and compiler both need all data duplicated sadly, both deprecated-at version and what-to-do-instead. Please also compare https://community.kde.org/Policies/Library_Code_Policy#Deprecation_of_API and improve where needed, INLINE COMMENTS > containmentactions.h:73 > + * > + * @deprecated use metadata > + */ Also add Since note to deprecation, for people reading the generated API dox. So: @deprecated Since 5.66, use metadata() > containmentactions.h:75 > + */ > +PLASMA_DEPRECATED_VERSION(5, 64, "use metadata()") KPluginInfo > pluginInfo() const; > +#endif Also recommended: put PLASMA_DEPRECATED_VERSION onto own line, makes parsing the code more easy PLASMA_DEPRECATED_VERSION(5, 64, "use metadata()") KPluginInfo pluginInfo() const; > dataengine.h:77 > + * > + * @deprecated since 5.64 > **/ For people reading the generated API dox, we need to duplicate the recommendation what to do: @deprecated Since 5.66, use xyz > dataengine.h:79 > **/ > -explicit DataEngine(const KPluginInfo &plugin, QObject *parent = > nullptr); > +PLASMA_DEPRECATED_VERSION(5, 64, "Use KPluginMetaData") explicit > DataEngine(const KPluginInfo &plugin, QObject *parent = nullptr); > +#endif own line again recommended > dataengine.h:118 > + */ > +PLASMA_DEPRECATED_VERSION(5, 64, "Use metadata()") KPluginInfo > pluginInfo() const; > +#endif own line > dataenginescript.h:113 > > /** > + * @return the KPluginInfo associated with this dataengine No visibility wrappers here? (#if PLASMA_ENABLE_DEPRECATED_SINCE(5, 66)) > dataenginescript.h:116 > + * > + * @deprecated use metadata() > */ @deprecated Since 5.66, use metadata() > theme.h:326 > + */ > +PLASMA_DEPRECATED_VERSION(5, 64, "Use KPluginMetaData metadata()") > KPluginInfo pluginInfo() const; > +#endif own line REPOSITORY R242 Plasma Framework (Library) BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma, mart Cc: kossebau, broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
kossebau added a comment. Do not forget to bump 5.64 to 5.66 in all places :) REPOSITORY R242 Plasma Framework (Library) BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma, mart Cc: kossebau, broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
mart accepted this revision. This revision is now accepted and ready to land. REPOSITORY R242 Plasma Framework (Library) BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma, mart Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol updated this revision to Diff 68546. apol added a comment. Unrelated change REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D23682?vs=68544&id=68546 BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES src/plasma/CMakeLists.txt src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/scripting/dataenginescript.h src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol updated this revision to Diff 68544. apol added a comment. Adopt new deprecation macros REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D23682?vs=65328&id=68544 BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES CMakeLists.txt src/plasma/CMakeLists.txt src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/scripting/dataenginescript.h src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol added a comment. ping? REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol added inline comments. INLINE COMMENTS > broulik wrote in dataengine.cpp:70 > Where is this constructor used? Unsure, but we can't remove symbols anyway... REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol updated this revision to Diff 65328. apol marked 6 inline comments as done. apol added a comment. Forgot these REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D23682?vs=65327&id=65328 BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/scripting/dataenginescript.h src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol updated this revision to Diff 65327. apol added a comment. address comments REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D23682?vs=65261&id=65327 BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
broulik added inline comments. INLINE COMMENTS > containmentactions.h:70 > * including name, pluginName and icon > - * @since 5.0 > + * @since 5.0 use metadata > */ @deprecated since 5.62 use metadata > dataengine.cpp:70 > : QObject(parent), > - d(new DataEnginePrivate(this, KPluginInfo(args), args)) > + d(new DataEnginePrivate(this, KPluginInfo(args).toMetaData(), args)) > { Where is this constructor used? > dataengine.h:80 > + > +explicit DataEngine(const KPluginMetaData &plugin, QObject *parent = > nullptr); > Docs, with `@since` > dataengine.h:112 > + * > + * @since 4.62 > */ 5 > dataenginescript.cpp:91 > > KPluginInfo DataEngineScript::description() const > { Does this need a `KPluginMetadata` getter? > theme.cpp:444 > > KPluginInfo Theme::pluginInfo() const > { Does this need a separate `metadata()` getter? > theme.h:321 > * name, description, author, website etc > - * @since 5.0 > + * @since 5.0 use KPluginMetaData > + */ Separate `@deprecated since` line REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D23682 To: apol, #plasma Cc: broulik, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
D23682: Make use of KPluginMetaData where we can
apol created this revision. apol added a reviewer: Plasma. Herald added a project: Frameworks. Herald added a subscriber: kde-frameworks-devel. apol requested review of this revision. REVISION SUMMARY Instead of relying on the older KPluginInfo which is slower (parses de metadata twice) and comes from a much higher tier. TEST PLAN Running plasmashell with it REPOSITORY R242 Plasma Framework (Library) BRANCH master REVISION DETAIL https://phabricator.kde.org/D23682 AFFECTED FILES src/plasma/containment.cpp src/plasma/containmentactions.cpp src/plasma/containmentactions.h src/plasma/dataengine.cpp src/plasma/dataengine.h src/plasma/private/dataengine_p.h src/plasma/private/storage.cpp src/plasma/private/theme_p.cpp src/plasma/private/theme_p.h src/plasma/scripting/dataenginescript.cpp src/plasma/theme.cpp src/plasma/theme.h To: apol, #plasma Cc: kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns