Upgrading libraries in compiled binaries

Clover is using a number of third party libraries (based mainly on Apache License or LGPL), for example: Commons Lang, JFreeChart, Antlr.

In case when you would like to upgrade these libraries (assuming that they are API-compatible) in existing Clover binaries you have to perform the following steps:

  • remove third party library classes from Clover JAR(s) (clover.jar, clover-ant.jar, clover-runtime.jar, com.atlassian.clover.eclipse.core*.jar etc)
  • repackage new third party library classes with a 'clover.' prefix (using JarJar tool for instance)
  • put repackaged classes into Clover JAR(s)

In order to make it more convenient, Clover is bundled with the upgrade script written in Ant:

  • Clover-for-Ant: located in /extlib/upgrade.xml in the clover-ant-X.X.X.zip file
  • Clover-for-Eclipse: located in /extlib/upgrade.xml in the com.atlassian.clover.eclipse.updatesite_X.X.XvNNNNNNNNNNNNNN.zip
  • Clover-for-IDEA: located in /extlib/upgrade.xml in the clover-idea.jar plugin
  • Clover-for-Maven: there are no new third party tools used

Detailed documentation how to use it is written in the scripts.