-
I've been trying to incorporate the Gir.Core changes within my project as a submodule, but i'm getting a horrendous amount of formatting errors. Non-build breaking. But nevertheless bothersome. As an example,
What would be the ideal way to tackle this, and upstream? Preferably, I would rather see "LengthUnlocked" rather than something written in snake case. Another contentious point is that SonarQube is reporting, this "Major Code Smell". |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Obviously this will get swept under the rug when the nuget packages are ready. (Out of sight, out of mind 😛) |
Beta Was this translation helpful? Give feedback.
-
Thanks for pointing this out. That's actually a bug with our generation, as the internal snake_case API shouldn't be publicly accesible, so AsyncQueue obviously isn't generating correctly. Normally we hide these functions inside a static class called A quick overview of the project structure for reference: We currently have two "layers" in the project. The autogenerated layer is comprised of files such as At the moment, the bindings are largely hand-written. We're looking at progressively automating more of it down the line, but we want to get the core GObject<->C# part down first before commiting to anything. If you'd like to help us add more of the API, Window.cs is a good starting point for how our managed layer is supposed to look. We wrap three things by hand at the moment:
@badcel Once again, you've beaten me to it 😅 |
Beta Was this translation helpful? Give feedback.
Thanks for pointing this out.
That's actually a bug with our generation, as the internal snake_case API shouldn't be publicly accesible, so AsyncQueue obviously isn't generating correctly. Normally we hide these functions inside a static class called
Native
, and then hand-write methods which 'wrap' the C API.A quick overview of the project structure for reference:
We currently have two "layers" in the project. The autogenerated layer is comprised of files such as
SomeConstruct.Generated.cs
, while the managed layer would beSomeConstruct.cs
. Anything checked into this repo is part of the managed layer, while the autogenerated layer is the internal private API.At the moment, the bindings …