Upgrading libraries in Clover sources

In case you would like to contribute and upgrade or replace a third party library used by Clover, please stick to the following rules:

  1. Make sure that it's license and licenses of all dependent libraries are OK:
    1. use only Apache, MIT and BSD libraries
    2. use LGPL, EPL, CPL, MPL, CDDL only if necessary because they are "weak copyleft", try to find alternatives
    3. never use GPL or Affero (or other "viral" licences)
  2. Update the "Bill Of Materials" - clover-third-party-library-bom.html file in clover-hg repository.
  3. Put a third party library license file in a module using it (usually in <module>/etc/license directory).
  4. Put a third party library JAR in a module using it and enhance upgrade.xml script (usually should repackage to <module>/lib folder).
  5. Make sure that library jar, upgrade script and license file are packaged in all Clover products using it (directly or indirectly). 
    1. we must distribute LGPL and CDDL sources if we modify them,
  6. Add proper information in 'About' dialog in Clover-for-Eclipse and Clover-for-IDEA.