JaCoCo - Development Environment

# Development Environment

## Project Hosting

The JaCoCo project is hosted on GitHub and can be cloned from this URL:

      https://github.com/jacoco/jacoco.git

We also track all issues and pull requests on the GitHub project.

### IDE

JaCoCo development is done with the latest version of Eclipse. Please make sure to install the m2e plug-in to get all dependencies resolved properly. The source tree is organized as a list of Eclipse projects that can be imported in a Eclipse workspace.

Project specific Eclipse settings only exist for the following projects. All other projects and test projects link to these settings:

- `org.jacoco.core`
- `org.jacoco.core.test`

These settings specify various compiler warnings and the standard Eclipse source formatting rules.

### JRE/JDK

The minimum supported JRE version for JaCoCo is Java 5. To guarantee compatibility JaCoCo release builds should always be executed using JDK 5. In addition we run builds with 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 18, 19, 20, 21 and 22 JDKs.

### Build

The JaCoCo build is based on Maven and requires at least Maven 3.5.4 and JDK 17. See the build description for details.

### Continuous Integration

We have a list of CI tools directly integrated with our source repository:

- GitHub Actions
- Azure Pipelines

CI builds run for master and every pull request.

### Development Build Artifacts

Beside the JaCoCo releases the following build artifacts are automatically available during the development cycle:

- Master: The current master is available through the Maven snapshot repository.
- Pull Requests: For every pull request the GitHub Actions builds provide the corresponding all-in-one zip for download. To access the artifacts go to a summary page of a workflow run corresponding to the pull request.

### Continuous Inspection

We track quality issues with our source code with SonarQube.

### Communication

The development team communicates through a mailing list. The list is closed for non-developers but the archive is public. Please use the support channels to get in touch with the development team.