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?
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).
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