Can I get some more feedback on this approach, please? The longer it lingers, the more work it'll create for me to merge it.
On Wednesday, September 30, 2015 03:38:53 PM Sebastian Kügler wrote: > Hi, > > So my goals is to make the complex syncing logic in owncloud-client > usable from other applications. In order to achieve this, I'm splitting > out non-GUI functionality into its own lib to be able to use it from my > own client (a Plasma-based UI). > > The owncloud-client repository already contains two libraries: > ocsync (a low level fork of csync) and owncloudsync (a slightly > higher level, Qt-style API on top of csync which handles the actual > syncing). My plan (after discussing this with Olivier and Klaas is to > split out yet another library which has the account handling and sits > on top of owncloudsync. The bits that stay in the client are then > basically just the GUI (mostly the QWidget-dependent code). > > So I went ahead with this and cut up the client further, to a point > where it works again against my split-out libs. I haven't noticed any > regressions, but I also haven't built it for Windows or Mac (I don't > have such systems available), so it would be helpful if someone could > build my branch against these systems to catch further fallout. The > library already works with my (unfinished) Plasma client, as a > proof-of-concept. > > Along with the splitting, there are some cleanups for buildsystem > inconsistencies, I've tried separating them out, but it quickly became > quite a chore to test these things individually, and really -- if it > works as a whole, we should be fine. > > My code is in https://github.com/sebasje/mirall/tree/sebas/libsplit and > is up to date with owncloud-client's master. I'd be happy if you guys > could have a look and tell me what needs to happen to get this merged. > > Once the library split is merged, we can make further improvements, for > example cmake find module, librarizing things more (EXPORT macros), > moving stuff in different libraries into their own namespaces, > reviewing and polishing the API further, and moving things between > libraries to improve the semantics of the splitting. I've also not > moved any code files yet to make merging in upstream changes easier. > (I'm a bit afraid of bitrot, so I'd rather get this stuff in sooner > than later, and incrementally improve upon the result then.) > > As I said, reviews and comments are most welcome. > > Cheers, -- sebas http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9 _______________________________________________ Devel mailing list [email protected] http://mailman.owncloud.org/mailman/listinfo/devel
