diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 9b36f8e7a3..0000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,17 +0,0 @@ -cache: - - C:\Users\appveyor\.m2 -> **\pom.xml - -install: - - mkdir .jdk - - curl -L "https://api.azul.com/zulu/download/community/v1.0/bundles/latest/binary/?jdk_version=17&ext=zip&os=windows&arch=x86&hw_bitness=64&javafx=false&bundle_type=jdk" -o .jdk/jdk.zip - - unzip -d .jdk .jdk/jdk.zip - - mv .jdk/*/* .jdk - - .jdk\bin\java -version - - SET JAVA_HOME=%CD%\.jdk - -build_script: - # generation of Javadocs requires Java <= 6 (https://github.com/jacoco/jacoco/issues/110) - - mvn -V -B -e verify -Djdk.version=6 -Dbytecode.version=5 --toolchains=.travis\appveyor-toolchains.xml - -artifacts: - - path: jacoco\target\*.zip diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index da3f52c61f..893ec71b69 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -40,13 +40,15 @@ jobs: JDK_VERSION: 19 JDK 20: JDK_VERSION: 20 - JDK 20 with ECJ: - JDK_VERSION: 20 - ECJ: true JDK 21: JDK_VERSION: 21 + JDK 21 with ECJ: + JDK_VERSION: 21 + ECJ: true JDK 22: JDK_VERSION: 22 + JDK 23: + JDK_VERSION: 23 pool: vmImage: 'ubuntu-20.04' steps: @@ -86,17 +88,17 @@ jobs: export JAVA_HOME=$JAVA_HOME_17_X64 fi if [[ "$BUILD_SOURCEBRANCH" == "refs/heads/master" && "$JDK_VERSION" == "5" ]]; then - .maven/bin/mvn -V -B -e -f org.jacoco.build \ + .maven/bin/mvn -V -B -e --no-transfer-progress -f org.jacoco.build \ verify -Djdk.version=$JDK_VERSION -Dbytecode.version=$JDK_VERSION \ deploy:deploy -DdeployAtEnd \ --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml elif [[ "$BUILD_SOURCEBRANCH" == "refs/heads/master" && "$JDK_VERSION" == "11" ]]; then - .maven/bin/mvn -V -B -e -f org.jacoco.build \ + .maven/bin/mvn -V -B -e --no-transfer-progress -f org.jacoco.build \ verify -Djdk.version=$JDK_VERSION -Dbytecode.version=$JDK_VERSION \ sonar:sonar \ --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml else - .maven/bin/mvn -V -B -e \ + .maven/bin/mvn -V -B -e --no-transfer-progress \ verify -Djdk.version=$JDK_VERSION -Dbytecode.version=$JDK_VERSION -Decj=${ECJ:-} \ --toolchains=toolchains.xml fi diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..51d2ae7554 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + labels: + - "dependencies" + - "component: build" + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "daily" + labels: + - "dependencies" + - "component: core" + allow: + - dependency-name: "org.ow2.asm:*" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..980990658f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,90 @@ +name: CI +on: + - push + - pull_request +jobs: + Linux: + strategy: + fail-fast: false + matrix: + include: + - jdk: 8 + - jdk: 11 + - jdk: 17 + - jdk: 21 + name: JDK ${{ matrix.jdk }} + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 + with: + distribution: 'zulu' + java-version: | + ${{ matrix.jdk }} + 17 + - name: 'Generate toolchains.xml' + env: + JDK_VERSION: ${{ matrix.jdk }} + JDK_HOME_VARIABLE_NAME: JAVA_HOME_${{ matrix.jdk }}_X64 + run: | + echo " + + + jdk + + $JDK_VERSION + $JDK_VERSION + + + ${!JDK_HOME_VARIABLE_NAME} + + + + " > toolchains.xml + - name: 'Build' + run: | + mvn -V -B -e --no-transfer-progress \ + verify -Djdk.version=${{ matrix.jdk }} -Dbytecode.version=${{ matrix.jdk }} \ + --toolchains=toolchains.xml + Windows: + runs-on: windows-2022 + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 + with: + distribution: 'zulu' + java-version: | + 6 + 17 + - name: 'Generate toolchains.xml' + env: + JDK_VERSION: 6 + JDK_HOME_VARIABLE_NAME: JAVA_HOME_6_X64 + shell: bash + run: | + echo " + + + jdk + + $JDK_VERSION + $JDK_VERSION + + + ${!JDK_HOME_VARIABLE_NAME} + + + + " > toolchains.xml + - name: 'Build' + shell: bash + run: | + mvn -V -B -e --no-transfer-progress \ + verify -Djdk.version=6 -Dbytecode.version=5 \ + --toolchains=toolchains.xml + - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + id: artifact-upload-step + with: + name: jacoco + path: jacoco/target/*.zip + if-no-files-found: error diff --git a/.travis/appveyor-toolchains.xml b/.travis/appveyor-toolchains.xml deleted file mode 100644 index 79fae7dd98..0000000000 --- a/.travis/appveyor-toolchains.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - jdk - - java16 - 6 - oracle - - - C:\Program Files\Java\jdk1.6.0 - - - - diff --git a/LICENSE.md b/LICENSE.md index 757dbf4afb..0c2e74523f 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,7 +1,7 @@ License ======= -Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors +Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors The JaCoCo Java Code Coverage Library and all included documentation is made available by Mountainminds GmbH & Co. KG, Munich. Except indicated below, the diff --git a/README.md b/README.md index d2886deb6a..03681b257f 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,15 @@ JaCoCo Java Code Coverage Library ================================= [![Build Status](https://dev.azure.com/jacoco-org/JaCoCo/_apis/build/status/JaCoCo?branchName=master)](https://dev.azure.com/jacoco-org/JaCoCo/_build/latest?definitionId=1&branchName=master) -[![Build status](https://ci.appveyor.com/api/projects/status/g28egytv4tb898d7/branch/master?svg=true)](https://ci.appveyor.com/project/JaCoCo/jacoco/branch/master) [![Maven Central](https://img.shields.io/maven-central/v/org.jacoco/jacoco.svg)](http://search.maven.org/#search|ga|1|g%3Aorg.jacoco) JaCoCo is a free Java code coverage library distributed under the Eclipse Public -License. Check the [project homepage](http://www.jacoco.org/jacoco) -for downloads, documentation and feedback. +License. -Please use our [mailing list](https://groups.google.com/forum/?fromgroups=#!forum/jacoco) -for questions regarding JaCoCo which are not already covered by the -[extensive documentation](http://www.jacoco.org/jacoco/trunk/doc/). +## Starting Points -Note: We do not answer general questions in the project's issue tracker. Please use our [mailing list](https://groups.google.com/forum/?fromgroups=#!forum/jacoco) for this. -------------------------------------------------------------------------- +* I want to use JaCoCo → [Download](https://www.jacoco.org/jacoco/), [Maven](https://www.jacoco.org/jacoco/trunk/doc/maven.html), [Ant](https://www.jacoco.org/jacoco/trunk/doc/ant.html), [CLI](https://www.jacoco.org/jacoco/trunk/doc/cli.html), [Other](https://www.jacoco.org/jacoco/trunk/doc/integrations.html) +* I want to know how JaCoCo works → [Documentation](http://www.jacoco.org/jacoco/trunk/doc/) +* I have a question → [FAQ](http://www.jacoco.org/jacoco/trunk/doc/faq.html), [Documentation](http://www.jacoco.org/jacoco/trunk/doc/), [User Forum](https://groups.google.com/forum/?fromgroups=#!forum/jacoco) +* I found a bug → [Bug Report](https://github.com/jacoco/jacoco/issues/new/choose) +* I have an idea → [User Forum](https://groups.google.com/forum/?fromgroups=#!forum/jacoco), [Feature Request](https://github.com/jacoco/jacoco/issues/new/choose) diff --git a/jacoco-maven-plugin.test/it/it-check-fails-halt/pom.xml b/jacoco-maven-plugin.test/it/it-check-fails-halt/pom.xml index c7221a1eac..2b58a34d1d 100644 --- a/jacoco-maven-plugin.test/it/it-check-fails-halt/pom.xml +++ b/jacoco-maven-plugin.test/it/it-check-fails-halt/pom.xml @@ -1,6 +1,6 @@ - 9.6 + 9.7 1.9.16 2.0.28 4.13.1 @@ -352,11 +352,7 @@ org.apache.maven.plugins maven-javadoc-plugin - - 3.0.1 + 3.6.3 true false @@ -365,15 +361,7 @@ org.apache.maven.plugins maven-plugin-plugin - 3.6.0 - - - - org.ow2.asm - asm - 7.1 - - + 3.6.4 org.apache.maven.plugins @@ -414,7 +402,7 @@ org.apache.maven.plugins maven-site-plugin - 3.3 + 3.12.1 org.apache.maven.plugins @@ -461,7 +449,7 @@ com.diffplug.spotless spotless-maven-plugin - 2.37.0 + 2.41.1 @@ -554,9 +542,13 @@ src/**/*.java - 4.28 + 4.30 ../org.jacoco.core/.settings/org.eclipse.jdt.core.prefs + + java,javax,org,com, + true + @@ -608,7 +600,7 @@ - + @@ -794,67 +786,16 @@ - - java14-bytecode - - - bytecode.version - 14 - - - - 13 - 13 - - - - - java15-bytecode - - - bytecode.version - 15 - - - - 13 - 13 - - - - - java16-bytecode - - - bytecode.version - 16 - - - - 13 - 13 - - - - - java17-bytecode - - - bytecode.version - 17 - - - - 13 - 13 - - - java18-bytecode @@ -864,8 +805,8 @@ - 13 - 13 + 17 + 17 @@ -878,8 +819,8 @@ - 13 - 13 + 17 + 17 @@ -892,8 +833,8 @@ - 13 - 13 + 17 + 17 @@ -906,8 +847,8 @@ - 13 - 13 + 17 + 17 @@ -920,8 +861,22 @@ - 13 - 13 + 17 + 17 + + + + + java23-bytecode + + + bytecode.version + 23 + + + + 17 + 17 @@ -945,7 +900,7 @@ org.eclipse.jdt ecj - 3.34.0 + 3.37.0 org.codehaus.plexus diff --git a/org.jacoco.cli.test/pom.xml b/org.jacoco.cli.test/pom.xml index 71e110325d..28bdfc1cdd 100644 --- a/org.jacoco.cli.test/pom.xml +++ b/org.jacoco.cli.test/pom.xml @@ -1,6 +1,6 @@ + 13 + 13 + + + ../org.jacoco.core.test.validation.kotlin + ../org.jacoco.core.test.validation.java7 + ../org.jacoco.core.test.validation.java8 + ../org.jacoco.core.test.validation.groovy + ../org.jacoco.core.test.validation.scala + + + java14-bytecode @@ -351,7 +375,7 @@ 16 - + 16 18 @@ -379,7 +403,7 @@ 16 - + 16 19 @@ -407,7 +431,7 @@ 16 - + 16 20 @@ -435,7 +459,7 @@ 16 - + 16 21 @@ -449,9 +473,7 @@ ../org.jacoco.core.test.validation.java16 ../org.jacoco.core.test.validation.java21 ../org.jacoco.core.test.validation.groovy - @@ -466,7 +488,7 @@ 16 - + 16 22 @@ -479,12 +501,41 @@ ../org.jacoco.core.test.validation.java14 ../org.jacoco.core.test.validation.java16 ../org.jacoco.core.test.validation.java21 - - + 16 + + 16 + + 23 + 23 + + + ../org.jacoco.core.test.validation.kotlin + ../org.jacoco.core.test.validation.java7 + ../org.jacoco.core.test.validation.java8 + ../org.jacoco.core.test.validation.java14 + ../org.jacoco.core.test.validation.java16 + ../org.jacoco.core.test.validation.java21 + + ../org.jacoco.core.test.validation.scala diff --git a/org.jacoco.core.test/pom.xml b/org.jacoco.core.test/pom.xml index aa1ee56c73..0124bf70f3 100644 --- a/org.jacoco.core.test/pom.xml +++ b/org.jacoco.core.test/pom.xml @@ -1,6 +1,6 @@