Replace generated dbus source files #19

Closed
fossfreedom wants to merge 4 commits from fossfreedom/budgie-desktop-services:autogendbus into main
Owner

This PR replaces the in source generated dbus files with files created from the schema XML files.

This PR replaces the in source generated dbus files with files created from the schema XML files.
JoshStrobl left a comment
Owner

Thanks for the pull request! Some bits of feedback:

  1. I think we should move the added configuration of dbus generation into a dedicated CMakeLists.txt in src/dbus to keep the one in src tidier.
  2. You have an empty .gitignore in src/dbus/generated. Guessing that was originally added when the idea was maybe to dump it into the SOURCE_DIR but given it's being thrown into the directory generator by cmake, probably okay to not have it?
  3. Let's clean up the Taskfile.yml to remove the qdbus-gen task since we'll be using CMake for this.
Thanks for the pull request! Some bits of feedback: 1. I think we should move the added configuration of dbus generation into a dedicated CMakeLists.txt in `src/dbus` to keep the one in `src` tidier. 2. You have an empty `.gitignore` in src/dbus/generated. Guessing that was originally added when the idea was maybe to dump it into the SOURCE_DIR but given it's being thrown into the directory generator by cmake, probably okay to not have it? 3. Let's clean up the `Taskfile.yml` to remove the qdbus-gen task since we'll be using CMake for this.
Owner

The .gitignore file keeps the folder in git, no files means no folder.

The `.gitignore` file keeps the folder in git, no files means no folder.
Author
Owner

I think we should move the added configuration of dbus generation into a dedicated CMakeLists.txt in src/dbus to keep the one in src tidier.

Tried different ways - there doesnt seem to be a way to get the order of the build correct with a separate src/dbus/CMakeLists.txt - the autogen is the problem. It is run after the compilation starts and I can't find a way to force the autogen files to be done upfront

You have an empty .gitignore in src/dbus/generated. Guessing that was originally added when the idea was maybe to dump it into the SOURCE_DIR but given it's being thrown into the directory generator by cmake, probably okay to not have it?
Let's clean up the Taskfile.yml to remove the qdbus-gen task since we'll be using CMake for this.

Done

> I think we should move the added configuration of dbus generation into a dedicated CMakeLists.txt in src/dbus to keep the one in src tidier. Tried different ways - there doesnt seem to be a way to get the order of the build correct with a separate src/dbus/CMakeLists.txt - the autogen is the problem. It is run after the compilation starts and I can't find a way to force the autogen files to be done upfront >You have an empty .gitignore in src/dbus/generated. Guessing that was originally added when the idea was maybe to dump it into the SOURCE_DIR but given it's being thrown into the directory generator by cmake, probably okay to not have it? Let's clean up the Taskfile.yml to remove the qdbus-gen task since we'll be using CMake for this. Done
Owner

We've now lost the dbus/generated directory since there's no files in it. Git only keeps directories with files.

We've now lost the `dbus/generated` directory since there's no files in it. Git only keeps directories with files.
Author
Owner

the generated files are now in the build/src/dbus/generated folder - i.e. only needed for the compilation.

the generated files are now in the build/src/dbus/generated folder - i.e. only needed for the compilation.
@ -12,6 +12,92 @@ ecm_add_qtwayland_client_protocol(
protocols/wlr-output-management-unstable-v1.xml BASENAME
wlr-output-management-unstable-v1)
# ============================================================================
Owner

This all doesn't feel right to me... It seems way too complicated. Maybe see what plasma-workspace does for libnotificationmanager: https://invent.kde.org/plasma/plasma-workspace/-/blob/master/libnotificationmanager/CMakeLists.txt?ref_type=heads#L55

This all doesn't feel right to me... It seems way too complicated. Maybe see what `plasma-workspace` does for `libnotificationmanager`: https://invent.kde.org/plasma/plasma-workspace/-/blob/master/libnotificationmanager/CMakeLists.txt?ref_type=heads#L55
fossfreedom marked this conversation as resolved
Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net>
Author
Owner

Builds nicely Evan - cheers!

Builds nicely Evan - cheers!
Owner

Quick question: Was it intentional to completely remove the Taskfile? I thought the idea was just to remove the one task, not all of them.

Quick question: Was it intentional to completely remove the Taskfile? I thought the idea was just to remove the one task, not all of them.
Owner

Yea only the specific task should've been deleted, not the entire thing.

Yea only the specific task should've been deleted, not the entire thing.
Owner

Also this is gonna be hell to rebase on top of #18, might be easier to have a branch from scratch once it's landed 😁

Also this is gonna be hell to rebase on top of #18, might be easier to have a branch from scratch once it's landed 😁
fossfreedom closed this pull request 2025-12-16 09:41:45 +01:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
BuddiesOfBudgie/budgie-desktop-services!19
No description provided.