obus
obus copied to clipboard
[WIP] obus 2.0
This is an effort on making obus more simple and modular, as well as small and easy to maintain. See #17.
This seems like a fairly extensive set of changes to files but not much of a change to the code. Can you summarize what you've done? I'm not sure I'm in a very good position to review it meaningfully.
@pmetzger It's not done yet. There are much more changes to the files indeed because the code is pretty good.
As I've mentioned in #17 , the main goal of 2.0.0
update is to get rid of IDL language and supplementary code (for example custom Enum/Flag types ) I've also got rid of PPX since it brings none value but impedes compiling obus
with new/beta compilers.
The second main goal is to split obus
into obus
(library), obus-utils
(introspection and interface generating utils) and various bindings.
So here is what is/shall be done in this PR:
- remove IDL and PPX (done, basically that's what these commits above are about)
- remove IDL-related code (in progress)
- split packages (mostly done, not yet pushed)
- move this documentation into
mli
files addingmld
, I want a result similar to what is done inlwt
(not done yet) - update the docs and add some tutorial pieces and references to D-Bus docs see this thread (not done yet)
- apply ocamlformat to the codebase ;) (done, but not yet pushed)
- maybe simplify some internal code using the opportunity given by the major release, like these pieces for example. But the code is overall pretty nice so I doubt I would make any significant changes (investigating)
I'm also thinking of dropping bindings for this release since they didn't age well in many places and need a thorough update due to changes in related APIs. Anyways they would be in separate packages so I could publish them later. What are you thinking about all of this?
What are you thinking about all of this?
It all seems quite reasonable so far. Again, though, I'm not a domain expert (and know nothing about who is using this code and what they expect from the old interfaces.)
and know nothing about who is using this code and what they expect from the old interfaces
AFAIK @talex5 uses it, so I'll ping him.