Thanks for this. The logical-module-structure part of this is perfect and is good to go.
For the dependencies though, sorry I should have explained in greater detail how all of those files work.
There are currently three files we use there:
dependency-data: For Qt 4 / KDE 4 builds
dependency-data-kf5-qt5: For master builds on Qt 5 / KF5
dependency-data-stable-kf5-qt5: For stable builds on Qt 5 / KF5
As Frameworks don't exist for Qt 4 / KDE 4 those rules won't work i'm afraid :)
In each of the KF5/Qt5 files, you'll also find a series of rules at the very bottom which ensure all Frameworks are always available:
# The generic dependency on all frameworks kde/*: frameworks/kf5umbrella calligra/*: frameworks/kf5umbrella extragear/*: frameworks/kf5umbrella playground/*: frameworks/kf5umbrella kdereview/*: frameworks/kf5umbrella
As you've only got dependencies on Frameworks, you can therefore ignore the dependency files, as the above rules will ensure they're made available to you.
Once you've updated the diff to remove the dependency-data bits this can go in.
That is correct. For those, they have to be installed system wide and so that is done separately.
For Linux, we have Docker images in sysadmin/ci-tooling (in the system-images/ folder).
For Windows, the list of dependencies installed by Craft is stored at craftmaster/ also in sysadmin/ci-tooling.
The FreeBSD nodes are maintained semi-manually.
Once we have the builds running we'll know more about what is missing and can get that integrated.
You can go ahead and push this now (the kde-build-metadata repository is open to all developers to push)