1. Install tools. Mandatory tools are:
- Ant 1.9.4
- Maven 3.2.5
- JDK 1.6
- IntelliJ IDEA 13
- Eclipse 4.2.2
Optional tools are:
- JDK 1.7, JDK 1.8 - to run tests against these JDKs
- IDEA 14.x, 15.x, 2016.x - to run tests against newer IDEA versions
- Eclipse 4.3.1, 4.4.0, 4.5.1, 4.6.0 - to run tests against newer Eclipse versions
2. Set environment variables:
3. Check out main Clover repository:
4. Set up paths to JDK, IDEA and Eclipse:
Open <clover>/build.properties and put proper paths.
5. Download, repack and install third party libraries:
6. Install Atlassian fork of KTreeMap library:
Build and test
Building from a command line
To compile application code:
To run tests:
To create Clover-for-Ant, Clover-for-IDEA and Clover-for-Eclipse packages:
To install Clover Core in .m2/repository:
To learn about other targets available see Build system.
Building Clover from IntelliJ IDEA
- Compile sources using Ant first using 'ant global.build'. This is because the script downloads third party JARs as well as generates some Java sources.
- Open Clover project in IDEA - just select the directory containing Clover code (.idea folder and *.iml files are versioned in SCM).
- Open project settings and
- define JDKs named '1.6', '1.7', '1.8'. While Clover is compiled using JDK 1.6, there are two test projects using JDK 1.7 and 1.8.
- define IntelliJ Platform Plugin SDK named 'IDEA 13.0.0' (you can actually use the newest 13.1.7 bug-fix version).
- configure path to 'eclipse-4.2.2' library
- Whole project should be compile-able now. There shall be no need to define other libraries or to change paths etc.
Release and publish
To create a snapshot version of Clover Core as well as plugins for Ant, Eclipse and IDEA:
To create a stable version of Clover Core as well as plugins for Ant, Eclipse and IDEA:
update "core.release.base" and "core.release.num.sanitised" in /common.xml
update com.atlassian.clover.registry.format.RegHeader#REG_FORMAT_VERSION (only if format of the database has changed)
- run a command
Artefacts will be created in:
- Clover API JavaDoc - clover-ant/target/javadoc
- Clover Core - clover-ant/target/clover-*.jar, pom.xml
- Clover-for-Ant - clover-ant/target/clover-ant-*.zip
- Clover-for-Eclipse - clover-eclipse/target/main/com.atlassian.clover.eclipse.updatesite_*.zip
- Clover-for-IDEA - clover-idea/target/clover-idea.jar