← Back to team overview

syncany-team team mailing list archive

Re: Hazelcast Plugin


Hello Vincent,

sometimes it feels as if only we are communicating on the mailing list. I
know though that a few people are listening in (Hi y'all, I know you are
there, hehe).

Regarding the plugin:

I developped an hazelcast syncany pugin
> https://github.com/vwiencek/syncany-plugin-hazelcast

Looks good. Very clean.

> This plugin is a standalone project referencing original sync any
> lib/core/util projects via "git submodules"
> Submodules are located in "core" folder, and hazelcast plugin project
> smartly redefine projects folders in gradle.settings.
> Command to add submodules is "git submodule add
> http://github/..../syncany.git core"
> Then you need to make
> "git submodule init"
> "git submodule update"
> and dependencies will be downloaded.

I think using git submodules like this is a good idea. You might be on the
right track to solve issue #26 (

The way you used "submodules" is to let the plugin depend on the main
project, and not the other way round; so basically the repo
"syncany-plugin-hazelcast" depends on "syncany".

For the record:
$ git clone git@xxxxxxxxxx:vwiencek/syncany-plugin-hazelcast.git
$ cd syncany-plugin-hazelcast
$ git submodule update
$ gradle jar       <<< this runs into an error

People have been asking more and more about other plugins, so I think it's
important that we got our plugin-infrastructure set up.

Do you think this is a good layout for all the "non-core" plugins? So
something we could place here: https://github.com/syncany?

Another thing: For "non-core" plugins to work (user's must be able to
install them), I think the following things must work:
1. The "jar" target should work properly. A plugin should be one JAR file
that we can publish somewhere.
2. The plugins should be installable: For Linux, a *.deb/rpm can obviously
place the JAR in /usr/share/syncany/lib/, but to make it easier, the
CLI/GUI should also be able to add plugins. Something like

    "sy plugins list|add|remove|activate|deactivate

The "sy plugins add" add command could place the JAR in
~/.syncany/plugins/lib/ or something like that.

Any volunteers to develop that?