diff --git a/.appveyor.yml b/.appveyor.yml
index d8efac6101..9b36f8e7a3 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,17 +1,17 @@
cache:
- - C:\Users\appveyor\apache-maven-3.3.9 -> appveyor.yml
- C:\Users\appveyor\.m2 -> **\pom.xml
install:
- - if not exist C:\Users\appveyor\apache-maven-3.3.9 (
- curl -LsS "http://www.apache.org/dyn/closer.cgi?action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip" > apache-maven-3.3.9-bin.zip &&
- unzip apache-maven-3.3.9-bin.zip -d C:\Users\appveyor
- )
- - SET PATH=C:\Users\appveyor\apache-maven-3.3.9\bin;%PATH%
+ - 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:
- # Maven 3.3.9 requires Java >= 7, but generation of Javadocs requires Java <= 6 (https://github.com/jacoco/jacoco/issues/110)
- - mvn -V -B -e verify -Djdk.version=6 --toolchains=.travis\appveyor-toolchains.xml
+ # 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 10105a7841..da3f52c61f 100644
--- a/.azure-pipelines/azure-pipelines.yml
+++ b/.azure-pipelines/azure-pipelines.yml
@@ -10,15 +10,15 @@ jobs:
JDK_VERSION: 7
JDK 8:
JDK_VERSION: 8
- JDK 8 with ECJ:
- JDK_VERSION: 8
- ECJ: true
JDK 9:
JDK_VERSION: 9
JDK 10:
JDK_VERSION: 10
JDK 11:
JDK_VERSION: 11
+ JDK 11 with ECJ:
+ JDK_VERSION: 11
+ ECJ: true
JDK 12:
JDK_VERSION: 12
JDK 13:
@@ -31,14 +31,24 @@ jobs:
JDK_VERSION: 16
JDK 17:
JDK_VERSION: 17
+ JDK 17 with ECJ:
+ JDK_VERSION: 17
+ ECJ: true
JDK 18:
JDK_VERSION: 18
JDK 19:
JDK_VERSION: 19
JDK 20:
JDK_VERSION: 20
+ JDK 20 with ECJ:
+ JDK_VERSION: 20
+ ECJ: true
+ JDK 21:
+ JDK_VERSION: 21
+ JDK 22:
+ JDK_VERSION: 22
pool:
- vmImage: 'ubuntu-18.04'
+ vmImage: 'ubuntu-20.04'
steps:
- bash: |
set -e
@@ -70,12 +80,14 @@ jobs:
tar -xzf .maven/maven.tar.gz -C .maven --strip-components 1
displayName: Setup Maven
- bash: |
- if [[ "$JDK_VERSION" -ge "8" ]]; then
+ if [[ "$JDK_VERSION" -ge "17" ]]; then
export JAVA_HOME=$PWD/.jdk
+ else
+ 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 \
- verify -Djdk.version=$JDK_VERSION \
+ 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
diff --git a/LICENSE.md b/LICENSE.md
index d152410c85..757dbf4afb 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,7 +1,7 @@
License
=======
-Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+Copyright (c) 2009, 2023 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/jacoco-maven-plugin.test/it/it-check-fails-halt/pom.xml b/jacoco-maven-plugin.test/it/it-check-fails-halt/pom.xml
index d0d8873e0b..c7221a1eac 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 @@
+ 8
+ 8
+
diff --git a/jacoco-maven-plugin/.classpath b/jacoco-maven-plugin/.classpath
index 0ed344a5e8..db3404d0fe 100644
--- a/jacoco-maven-plugin/.classpath
+++ b/jacoco-maven-plugin/.classpath
@@ -1,6 +1,6 @@
-
+
diff --git a/jacoco-maven-plugin/META-INF/m2e/lifecycle-mapping-metadata.xml b/jacoco-maven-plugin/META-INF/m2e/lifecycle-mapping-metadata.xml
index 3e5a5bb85d..e5f26bd462 100644
--- a/jacoco-maven-plugin/META-INF/m2e/lifecycle-mapping-metadata.xml
+++ b/jacoco-maven-plugin/META-INF/m2e/lifecycle-mapping-metadata.xml
@@ -1,5 +1,5 @@
+
+
+
+
+
+
+
+
diff --git a/org.jacoco.ant.test/src/org/jacoco/ant/CreateExecFiles.java b/org.jacoco.ant.test/src/org/jacoco/ant/CreateExecFiles.java
index ae0527ab02..ea8d5e0384 100644
--- a/org.jacoco.ant.test/src/org/jacoco/ant/CreateExecFiles.java
+++ b/org.jacoco.ant.test/src/org/jacoco/ant/CreateExecFiles.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.ant.test/src/org/jacoco/ant/DumpExecClassNames.java b/org.jacoco.ant.test/src/org/jacoco/ant/DumpExecClassNames.java
index aeb9f9b5d8..227408315d 100644
--- a/org.jacoco.ant.test/src/org/jacoco/ant/DumpExecClassNames.java
+++ b/org.jacoco.ant.test/src/org/jacoco/ant/DumpExecClassNames.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.java b/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.java
index 2231e18b06..8a8e89ceba 100644
--- a/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.java
+++ b/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.xml b/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.xml
index cadf47ab66..6527da8936 100644
--- a/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.xml
+++ b/org.jacoco.ant.test/src/org/jacoco/ant/DumpTaskTest.xml
@@ -1,7 +1,7 @@
- 9.3
+ 9.5
1.9.16
2.0.28
4.13.1
@@ -297,42 +297,42 @@
org.apache.maven.plugins
maven-antrun-plugin
- 1.6
+ 3.1.0
org.apache.maven.plugins
maven-assembly-plugin
- 2.2.1
+ 3.6.0
org.apache.maven.plugins
maven-clean-plugin
- 2.4.1
+ 3.2.0
org.apache.maven.plugins
maven-compiler-plugin
- 3.10.1
+ 3.11.0
org.apache.maven.plugins
maven-dependency-plugin
- 2.2
+ 3.6.0
org.apache.maven.plugins
maven-deploy-plugin
- 2.8.2
+ 3.1.1
org.apache.maven.plugins
maven-enforcer-plugin
- 3.0.0-M2
+ 3.3.0
org.apache.maven.plugins
maven-install-plugin
- 2.3.1
+ 3.1.1
org.apache.maven.plugins
@@ -342,12 +342,12 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.3
+ 3.1.0
org.apache.maven.plugins
maven-jar-plugin
- 2.3.1
+ 3.3.0
org.apache.maven.plugins
@@ -393,25 +393,17 @@
org.apache.maven.plugins
maven-resources-plugin
- 2.5
+ 3.3.1
org.apache.maven.plugins
maven-shade-plugin
- 3.2.1
-
-
-
- org.ow2.asm
- asm
- 7.1
-
-
+ 3.5.0
org.apache.maven.plugins
maven-source-plugin
- 2.1.2
+ 3.3.0
org.apache.maven.plugins
@@ -427,7 +419,7 @@
org.apache.maven.plugins
maven-toolchains-plugin
- 1.0
+ 3.1.0
@@ -438,23 +430,22 @@
org.codehaus.mojo
build-helper-maven-plugin
- 1.5
+ 3.4.0
org.codehaus.mojo
buildnumber-maven-plugin
- 1.2
+ 3.1.0
org.codehaus.mojo
xml-maven-plugin
- 1.0
+ 1.1.0
org.codehaus.mojo
exec-maven-plugin
-
- 1.5.0
+ 3.1.0
@@ -470,7 +461,7 @@
com.diffplug.spotless
spotless-maven-plugin
- 1.24.3
+ 2.37.0
@@ -489,6 +480,7 @@
org.apache.maven.plugins
maven-shade-plugin
+ false
@@ -531,11 +523,11 @@
- 1.8
+ 17
- [3.3.9,3.8.2),(3.8.2,)
+ [3.5.4,3.8.2),(3.8.2,)
The rules for repo1.maven.org are that pom.xml files should not include repository definitions.
@@ -562,7 +554,7 @@
src/**/*.java
- 4.12.0
+ 4.28
../org.jacoco.core/.settings/org.eclipse.jdt.core.prefs
@@ -616,7 +608,7 @@
-
+
@@ -668,6 +660,7 @@
false
true
0000000
+ build.commitId
@@ -699,8 +692,8 @@
buildDate = qualifier.substring(0, 4) + "/" + qualifier.substring(4, 6) + "/" + qualifier.substring(6, 8);
project.getProperties().setProperty("build.date", buildDate);
- buildNumber = project.getProperties().get("buildNumber");
- pkgName = buildNumber.substring(buildNumber.length() - 7, buildNumber.length());
+ commitId = project.getProperties().get("build.commitId");
+ pkgName = commitId.substring(commitId.length() - 7, commitId.length());
project.getProperties().setProperty("jacoco.runtime.package.name", "org.jacoco.agent.rt.internal_" + pkgName);
void loadLicense(String libraryId) {
@@ -737,7 +730,7 @@
org.objectweb.asm.*;version="${range;[===,=+);${asm.version}}"
J2SE-1.5
- scm:git:git://github.com/jacoco/jacoco.git;path="${project.artifactId}";commitId=${buildNumber}
+ scm:git:git://github.com/jacoco/jacoco.git;path="${project.artifactId}";commitId=${build.commitId}
@@ -803,8 +796,7 @@
@@ -905,6 +897,34 @@
+
+ java21-bytecode
+
+
+ bytecode.version
+ 21
+
+
+
+ 13
+ 13
+
+
+
+
+ java22-bytecode
+
+
+ bytecode.version
+ 22
+
+
+
+ 13
+ 13
+
+
+
ecj
@@ -920,19 +940,17 @@
maven-compiler-plugin
eclipse
- 1.8
- 1.8
- org.eclipse.jdt.core.compiler
+ org.eclipse.jdt
ecj
- 4.6.1
+ 3.34.0
org.codehaus.plexus
plexus-compiler-eclipse
- 2.8.1
+ 2.8.5
@@ -1096,7 +1114,7 @@
- buildNumber
+ build.commitId
[0-9a-f]{40}
diff --git a/org.jacoco.build/publish.sh b/org.jacoco.build/publish.sh
deleted file mode 100755
index c2c069fe86..0000000000
--- a/org.jacoco.build/publish.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-
-if [ "$1" = "" ]; then
- echo "Usage: $0 "
- exit 1
-fi
-
-USERNAME=$1
-
-ssh $USERNAME,eclemma@shell.sourceforge.net create
-ssh $USERNAME,eclemma@shell.sourceforge.net '/home/project-web/eclemma/scripts/publish-jacoco-snapshot.sh'
diff --git a/org.jacoco.cli.test/pom.xml b/org.jacoco.cli.test/pom.xml
index 3fb14a39d9..0627e314de 100644
--- a/org.jacoco.cli.test/pom.xml
+++ b/org.jacoco.cli.test/pom.xml
@@ -1,6 +1,6 @@
+
+ 4.0.0
+
+
+ org.jacoco
+ org.jacoco.core.test.validation
+ 0.8.11-SNAPSHOT
+ ../org.jacoco.core.test.validation
+
+
+ org.jacoco.core.test.validation.java21
+
+ JaCoCo :: Test :: Core :: Validation Java 21
+
+
+ 21
+
+
+
+
+ ${project.groupId}
+ org.jacoco.core.test
+ ${project.version}
+
+
+
+
+
+
+ com.diffplug.spotless
+ spotless-maven-plugin
+
+
+
+
+ ../org.jacoco.core.test.validation.java21/.settings/org.eclipse.jdt.core.prefs
+
+
+
+
+
+
+
+
diff --git a/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/RecordPatternsTest.java b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/RecordPatternsTest.java
new file mode 100644
index 0000000000..629675e4dc
--- /dev/null
+++ b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/RecordPatternsTest.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.test.validation.java21;
+
+import org.jacoco.core.test.validation.JavaVersion;
+import org.jacoco.core.test.validation.Source.Line;
+import org.jacoco.core.test.validation.ValidationTestBase;
+import org.jacoco.core.test.validation.java21.targets.RecordPatternsTarget;
+
+/**
+ * Test of code coverage in {@link RecordPatternsTarget}.
+ */
+public class RecordPatternsTest extends ValidationTestBase {
+
+ public RecordPatternsTest() {
+ super(RecordPatternsTarget.class);
+ }
+
+}
diff --git a/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/SwitchPatternMatchingTest.java b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/SwitchPatternMatchingTest.java
new file mode 100644
index 0000000000..ef53c048f1
--- /dev/null
+++ b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/SwitchPatternMatchingTest.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.test.validation.java21;
+
+import org.jacoco.core.test.validation.ValidationTestBase;
+import org.jacoco.core.test.validation.java21.targets.SwitchPatternMatchingTarget;
+
+/**
+ * Test of code coverage in {@link SwitchPatternMatchingTarget}.
+ */
+public class SwitchPatternMatchingTest extends ValidationTestBase {
+
+ public SwitchPatternMatchingTest() {
+ super(SwitchPatternMatchingTarget.class);
+ }
+
+}
diff --git a/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/targets/RecordPatternsTarget.java b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/targets/RecordPatternsTarget.java
new file mode 100644
index 0000000000..d129b4cc2e
--- /dev/null
+++ b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/targets/RecordPatternsTarget.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.test.validation.java21.targets;
+
+import static org.jacoco.core.test.validation.targets.Stubs.nop;
+
+/**
+ * This target exercises Record Patterns
+ * (JEP 440).
+ */
+public class RecordPatternsTarget {
+
+ private record Point(int x, int y) {
+ }
+
+ private static void instanceofOperator(Object o) {
+ if (o instanceof Point(int x, int y)) { // assertFullyCovered(0, 2)
+ nop(x + y); // assertFullyCovered()
+ } // assertEmpty()
+ }
+
+ private static void switchStatement(Object p) {
+ switch (p) { // assertFullyCovered(0, 2)
+ case Point(int x, int y) -> nop(x + y); // assertFullyCovered()
+ default -> nop(); // assertFullyCovered()
+ } // assertEmpty()
+ }
+
+ public static void main(String[] args) {
+ instanceofOperator(new Point(1, 2));
+ instanceofOperator(new Object());
+
+ switchStatement(new Point(1, 2));
+ switchStatement(new Object());
+ }
+
+}
diff --git a/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/targets/SwitchPatternMatchingTarget.java b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/targets/SwitchPatternMatchingTarget.java
new file mode 100644
index 0000000000..0bedeeb73f
--- /dev/null
+++ b/org.jacoco.core.test.validation.java21/src/org/jacoco/core/test/validation/java21/targets/SwitchPatternMatchingTarget.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Evgeny Mandrikov - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.test.validation.java21.targets;
+
+import static org.jacoco.core.test.validation.targets.Stubs.nop;
+
+/**
+ * This target exercises pattern matching for switch
+ * (JEP 441).
+ */
+public class SwitchPatternMatchingTarget {
+
+ private static void example(Object o) {
+ switch (o) { // assertFullyCovered(1, 2)
+ case String s when s.length() == 0 -> // assertFullyCovered(0, 2)
+ nop(s); // assertFullyCovered()
+ case String s -> // assertFullyCovered()
+ nop(s); // assertFullyCovered()
+ default -> // assertEmpty()
+ nop(); // assertNotCovered()
+ }
+ }
+
+ public static void main(String[] args) {
+ example("");
+ example("a");
+ }
+
+}
diff --git a/org.jacoco.core.test.validation.java5/pom.xml b/org.jacoco.core.test.validation.java5/pom.xml
index 05e9c0f824..87b27eee39 100644
--- a/org.jacoco.core.test.validation.java5/pom.xml
+++ b/org.jacoco.core.test.validation.java5/pom.xml
@@ -1,6 +1,6 @@
16
-
+
16
18
@@ -363,9 +363,7 @@
../org.jacoco.core.test.validation.java8
../org.jacoco.core.test.validation.java14
../org.jacoco.core.test.validation.java16
-
../org.jacoco.core.test.validation.scala
@@ -381,7 +379,7 @@
16
-
+
16
19
@@ -393,9 +391,7 @@
../org.jacoco.core.test.validation.java8
../org.jacoco.core.test.validation.java14
../org.jacoco.core.test.validation.java16
-
../org.jacoco.core.test.validation.scala
@@ -411,7 +407,7 @@
16
-
+
16
20
@@ -423,12 +419,77 @@
../org.jacoco.core.test.validation.java8
../org.jacoco.core.test.validation.java14
../org.jacoco.core.test.validation.java16
-
+ 16
+
+ 16
+
+ 21
+ 21
+
+
+ ../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
+
+
+
+
+
+
+ java22-bytecode
+
+
+ bytecode.version
+ 22
+
+
+
+
+ 16
+
+ 16
+
+ 22
+ 22
+
+
+ ../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
+
+
+
diff --git a/org.jacoco.core.test/pom.xml b/org.jacoco.core.test/pom.xml
index 307cbc022a..6009c16392 100644
--- a/org.jacoco.core.test/pom.xml
+++ b/org.jacoco.core.test/pom.xml
@@ -1,6 +1,6 @@
+ 8
+ 8
diff --git a/org.jacoco.examples.test/src/org/jacoco/examples/ClassInfoTest.java b/org.jacoco.examples.test/src/org/jacoco/examples/ClassInfoTest.java
index c778de611c..196cc6f6d5 100644
--- a/org.jacoco.examples.test/src/org/jacoco/examples/ClassInfoTest.java
+++ b/org.jacoco.examples.test/src/org/jacoco/examples/ClassInfoTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/org/jacoco/examples/ConsoleOutput.java b/org.jacoco.examples.test/src/org/jacoco/examples/ConsoleOutput.java
index 9c5226d34e..6cf9e9d0c4 100644
--- a/org.jacoco.examples.test/src/org/jacoco/examples/ConsoleOutput.java
+++ b/org.jacoco.examples.test/src/org/jacoco/examples/ConsoleOutput.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/org/jacoco/examples/CoreTutorialTest.java b/org.jacoco.examples.test/src/org/jacoco/examples/CoreTutorialTest.java
index 34b5dbabea..31a470affb 100644
--- a/org.jacoco.examples.test/src/org/jacoco/examples/CoreTutorialTest.java
+++ b/org.jacoco.examples.test/src/org/jacoco/examples/CoreTutorialTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/org/jacoco/examples/ExecDumpTest.java b/org.jacoco.examples.test/src/org/jacoco/examples/ExecDumpTest.java
index 6cd1f4e966..ad5aa092ac 100644
--- a/org.jacoco.examples.test/src/org/jacoco/examples/ExecDumpTest.java
+++ b/org.jacoco.examples.test/src/org/jacoco/examples/ExecDumpTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/org/jacoco/examples/MBeanClientTest.java b/org.jacoco.examples.test/src/org/jacoco/examples/MBeanClientTest.java
index 7b28677399..c9a1b366e9 100644
--- a/org.jacoco.examples.test/src/org/jacoco/examples/MBeanClientTest.java
+++ b/org.jacoco.examples.test/src/org/jacoco/examples/MBeanClientTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/test/resources/verify-it.bsh b/org.jacoco.examples.test/src/test/resources/verify-it.bsh
index 0f3c0df9a1..f6bf263e78 100644
--- a/org.jacoco.examples.test/src/test/resources/verify-it.bsh
+++ b/org.jacoco.examples.test/src/test/resources/verify-it.bsh
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/test/resources/verify-offline.bsh b/org.jacoco.examples.test/src/test/resources/verify-offline.bsh
index e583fae0c0..e472b27528 100644
--- a/org.jacoco.examples.test/src/test/resources/verify-offline.bsh
+++ b/org.jacoco.examples.test/src/test/resources/verify-offline.bsh
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples.test/src/test/resources/verify.bsh b/org.jacoco.examples.test/src/test/resources/verify.bsh
index 6d10c0b9c3..aa612cea1c 100644
--- a/org.jacoco.examples.test/src/test/resources/verify.bsh
+++ b/org.jacoco.examples.test/src/test/resources/verify.bsh
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
diff --git a/org.jacoco.examples/assembly.xml b/org.jacoco.examples/assembly.xml
index 733b6c11c6..38a4c19e74 100644
--- a/org.jacoco.examples/assembly.xml
+++ b/org.jacoco.examples/assembly.xml
@@ -1,6 +1,6 @@