Hm, I think the biggest point of discussion was the need to keep source/binary compatibility or not..

On 19/10/15 10:55, Sebastian Kügler wrote:
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,


--
Woboq GmbH | http://woboq.com/
Geschäftsführer: Markus Goetz, Olivier Goffart
Hermannstr. 134, 12051 Berlin, Germany
Handelsregister: Amtsgericht Berlin (Charlottenburg) HRB 137795

_______________________________________________
Devel mailing list
[email protected]
http://mailman.owncloud.org/mailman/listinfo/devel

Reply via email to