We have been developing some Openfire plugins (simple things for learning purposes), but i’m not clear on how to work in some cases:
if I have an Openfire installation and I have a Repo where I keep the code of that installation, and now I want to develop a plugin for that installation/code should I work on this same repo or create a separate one for my new plugin?.
Should one mix different plugins in the same repo?
Could I have dependency problems if I dont put every plugin on the same repo, when I compile them?
Similar question in here:
Openfire Plugin development and project dependencies
But with no clear approach. So would be better to have, entire openfire source + 1 plugin per repo??
Just openfire.jar + 1 plugin?
Our approach is to create an eclipse project per openfire plugin (and these projects sit outside of the Openfire source tree). We have multiple per git repository.
We built an example out-of-tree plugin that you can see here:
GitHub - danielhams/openfire-plugin-ootexample: An example out of tree openfire plugin project
It’s not the only approach, but may be enough for you.
Well finally that’s the approach we end up using. Although, our plugin repo is not standalone, it needs to be inside a Openfire source project (on teh plguins dir).
I’ll definetely take a look of your example.
The Ant build script that ships with Openfire allows you to many things, among witch:
- Define that you want to build exactly one plugin (by name).
- Define / override the directories in which plugin source code is found.
You can easily combine these two to build a plugin of which the source code lives outside of your Openfire project:
Assuming that the sources of your plugin live in PLUGINDIR, and you have a copy of the Openfire source code in OPENFIRE_SOURCE_DIR:
From within OPENFIRE_SOURCE_DIR execute:
ant -f build/build.xml -Dplugin.src.dir=PLUGINDIR/.. -Dplugin=PLUGINDIR plugin
That’s a far more pleasant approach. I’ll look into changing my example to chain call the standard openfire ant script as you suggest.