Tinder or Whack... or Smack

I see Tinder is later than Whack, but do they provide the same functionality and if so, is there any reason why I should not just forget about Whack?

edit: Well, I see there is also Smack. There are 3 different implementations of Presence.java, the Smack one providing additional methods (language) over the other two.

If I want to implement component access to OpenFire to query users’ presence information, which library should I use?


Whack is for external component development. Although the component code is in Tinder, the means to externalize the component so it runs in its own process is here.

Tinder is a base set of XMPP classes used by Whack and Openfire. It contains the code needed for component development.

Smack is for client development.

It’s quite tricky to get these things working together. The current downloadable whack.jar requires tinder.jar, but using the current 1.2.2 tinder jar will not work because it cannot find the class org.xmpp.component.Log, which is in the Whack SVN and used (deprecated) in the ExternalComponentManager Whack sources…

You have to build the current whack sources, but you still need tinder 1.2.2 jar as it contains the org.xmpp elements, e.g. Packet, JID but it also contains the same package org.xmpp.component as the newly built whack.jar, but it has different sources, e.g. it contains IQ Listener stuff…

All in all, a bit of a mess. Is there some way to bring these packages into a sensible state. I guess the ExternalComponentManager just needs to be brought up to date to remove the deprecated Log class and then the org.xmpp.component package could be removed from Whack - not tried it though.

What do you think?