Clean up link interfaces of KDevPlatform libraries
ClosedPublic

Authored by kossebau on Feb 20 2018, 7:42 PM.

Details

Test Plan

Created helper files including all headers per library and linking against
the library to test which libs need to be in the public link interface.
All normal & playground plugins still built against KDevPlatform.

Diff Detail

Repository
R32 KDevelop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kossebau created this revision.Feb 20 2018, 7:42 PM
Restricted Application added a subscriber: kdevelop-devel. · View Herald TranscriptFeb 20 2018, 7:42 PM
kossebau requested review of this revision.Feb 20 2018, 7:42 PM

Cmp. also downstream patch https://build.opensuse.org/package/view_file/KDE:Unstable:Extra/kdevelop5/reduce_dependencies.diff?expand=1 (which still has KF5Parts as well, even though that is transitive pulled in by KF5TextEditor)

"Created helper files including all headers per library and linking against the library to test which libs need to be in the public link interface."
That had been done manually/ugly scripting. Ideally would be something that can be automatically tested by some cmake magic, no complete idea yet how to do that.

apol accepted this revision.Feb 21 2018, 12:28 AM
apol added a subscriber: apol.

This is brilliant, I wonder why opensuse wouldn't send such patches upstream!

Do you know if there's any tool that tests this? We could include it in build.kde.org.

This revision is now accepted and ready to land.Feb 21 2018, 12:28 AM
In D10696#210569, @apol wrote:

This is brilliant, I wonder why opensuse wouldn't send such patches upstream!

Well, they poked us about it, but we only created a bug report as reminder ;) https://bugs.kde.org/show_bug.cgi?id=383491 Which now reminded me :)

Do you know if there's any tool that tests this? We could include it in build.kde.org.

No idea. There has been talk by people (incl. me) to do something like it, but to no results AFAIK. Same also for testing self-contained installed headers.

This revision was automatically updated to reflect the committed changes.