Extract "validation" tests into separate modules (#711)
diff --git a/.appveyor.yml b/.appveyor.yml
index 7ab0b10..d8efac6 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -11,7 +11,7 @@
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=1.6 --toolchains=.travis\appveyor-toolchains.xml
+ - mvn -V -B -e verify -Djdk.version=6 --toolchains=.travis\appveyor-toolchains.xml
artifacts:
- path: jacoco\target\*.zip
diff --git a/.travis.sh b/.travis.sh
index d01ac83..ffeff4c 100755
--- a/.travis.sh
+++ b/.travis.sh
@@ -43,20 +43,19 @@
fi
}
+# Preinstalled JDKs:
+ls -lA /usr/lib/jvm/
+
+
case "$JDK" in
5)
install_jdk $JDK5_URL false
;;
-6 | 7)
- ;;
-8)
+6 | 7 | 8)
jdk_switcher /usr/lib/jvm/java-8-oracle
;;
-8-ea)
- install_jdk $JDK8_EA_URL
- ;;
9)
- install_jdk $JDK9_URL
+ jdk_switcher /usr/lib/jvm/java-9-oracle
;;
10)
install_jdk $JDK10_URL
@@ -69,7 +68,6 @@
export MAVEN_SKIP_RC=true
# Build:
-# TODO(Godin): see https://github.com/jacoco/jacoco/issues/300 about "bytecode.version"
case "$JDK" in
5)
if [[ ${TRAVIS_PULL_REQUEST} == 'false' && ${TRAVIS_BRANCH} == 'master' ]]
@@ -78,25 +76,14 @@
git fetch --unshallow
# goal "deploy:deploy" used directly instead of "deploy" phase to avoid pollution of Maven repository by "install" phase
- mvn -V -B -e -f org.jacoco.build verify sonar:sonar deploy:deploy -DdeployAtEnd -Djdk.version=1.5 --toolchains=./.travis/toolchains.xml --settings=./.travis/settings.xml -Dsonar.host.url=${SONARQUBE_URL} -Dsonar.login=${SONARQUBE_TOKEN}
+ mvn -V -B -e -f org.jacoco.build verify sonar:sonar deploy:deploy -DdeployAtEnd -Djdk.version=5 --toolchains=./.travis/toolchains.xml --settings=./.travis/settings.xml -Dsonar.host.url=${SONARQUBE_URL} -Dsonar.login=${SONARQUBE_TOKEN}
python ./.travis/trigger-site-deployment.py
else
- mvn -V -B -e verify -Djdk.version=1.5 --toolchains=./.travis/toolchains.xml
+ mvn -V -B -e verify -Djdk.version=5 --toolchains=./.travis/toolchains.xml
fi
;;
-6)
- mvn -V -B -e verify -Djdk.version=1.6 -Dbytecode.version=1.6 --toolchains=./.travis/travis-toolchains.xml
- ;;
-7)
- mvn -V -B -e verify -Djdk.version=1.7 -Dbytecode.version=1.7 --toolchains=./.travis/travis-toolchains.xml
- ;;
-8 | 8-ea)
- mvn -V -B -e verify -Dbytecode.version=1.8 -Decj=${ECJ:-}
- ;;
-9)
- export MAVEN_OPTS="-Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts"
- mvn -V -B -e verify -Dbytecode.version=1.9 \
- -Dinvoker.mavenOpts="-Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts"
+6 | 7 | 8 | 9)
+ mvn -V -B -e verify -Djdk.version=${JDK} -Dbytecode.version=${JDK} -Decj=${ECJ:-} --toolchains=./.travis/travis-toolchains.xml
;;
10)
mvn -V -B -e verify -Dbytecode.version=10
diff --git a/.travis/appveyor-toolchains.xml b/.travis/appveyor-toolchains.xml
index 6e91e4b..79fae7d 100644
--- a/.travis/appveyor-toolchains.xml
+++ b/.travis/appveyor-toolchains.xml
@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="UTF8"?>
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
+
<toolchain>
<type>jdk</type>
<provides>
<id>java16</id>
- <version>1.6</version>
+ <version>6</version>
<vendor>oracle</vendor>
</provides>
<configuration>
<jdkHome>C:\Program Files\Java\jdk1.6.0</jdkHome>
</configuration>
</toolchain>
+
</toolchains>
diff --git a/.travis/toolchains.xml b/.travis/toolchains.xml
index 59383f3..dcf1b8c 100644
--- a/.travis/toolchains.xml
+++ b/.travis/toolchains.xml
@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="UTF8"?>
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
+
<toolchain>
<type>jdk</type>
<provides>
<id>java15</id>
- <version>1.5</version>
+ <version>5</version>
<vendor>sun</vendor>
</provides>
<configuration>
<jdkHome>/tmp/jdk/5</jdkHome>
</configuration>
</toolchain>
+
</toolchains>
diff --git a/.travis/travis-toolchains.xml b/.travis/travis-toolchains.xml
index 7a50a3c..8079e74 100644
--- a/.travis/travis-toolchains.xml
+++ b/.travis/travis-toolchains.xml
@@ -1,22 +1,45 @@
<?xml version="1.0" encoding="UTF8"?>
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
+
<toolchain>
<type>jdk</type>
<provides>
- <version>1.6</version>
+ <version>6</version>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-6-openjdk-amd64</jdkHome>
</configuration>
</toolchain>
+
<toolchain>
<type>jdk</type>
<provides>
- <version>1.7</version>
+ <version>7</version>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-7-openjdk-amd64</jdkHome>
</configuration>
</toolchain>
+
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>8</version>
+ </provides>
+ <configuration>
+ <jdkHome>/usr/lib/jvm/java-8-oracle</jdkHome>
+ </configuration>
+ </toolchain>
+
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>9</version>
+ </provides>
+ <configuration>
+ <jdkHome>/usr/lib/jvm/java-9-oracle</jdkHome>
+ </configuration>
+ </toolchain>
+
</toolchains>
diff --git a/jacoco-maven-plugin.test/it/it-java9/pom.xml b/jacoco-maven-plugin.test/it/it-java9/pom.xml
index a0511f8..7750356 100644
--- a/jacoco-maven-plugin.test/it/it-java9/pom.xml
+++ b/jacoco-maven-plugin.test/it/it-java9/pom.xml
@@ -28,7 +28,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <target>1.9</target>
+ <source>9</source>
+ <target>9</target>
</configuration>
</plugin>
<plugin>
diff --git a/org.jacoco.build/pom.xml b/org.jacoco.build/pom.xml
index 16e6a5c..02dc806 100644
--- a/org.jacoco.build/pom.xml
+++ b/org.jacoco.build/pom.xml
@@ -130,8 +130,9 @@
<jacoco.home.url>http://www.jacoco.org/jacoco</jacoco.home.url>
<copyright.years>${project.inceptionYear}, 2018</copyright.years>
- <maven.compiler.source>1.5</maven.compiler.source>
- <maven.compiler.target>1.5</maven.compiler.target>
+ <bytecode.version>1.5</bytecode.version>
+ <maven.compiler.source>${bytecode.version}</maven.compiler.source>
+ <maven.compiler.target>${bytecode.version}</maven.compiler.target>
<jvm.args></jvm.args>
<argLine>${jvm.args}</argLine>
@@ -674,7 +675,18 @@
</build>
<profiles>
- <!-- This profile is used to launch tests with different JDK versions. -->
+ <profile>
+ <id>maven-jdk9</id>
+ <activation>
+ <jdk>[9,)</jdk>
+ </activation>
+ <properties>
+ <!-- http://openjdk.java.net/jeps/182 -->
+ <bytecode.version>6</bytecode.version>
+ </properties>
+ </profile>
+
+ <!-- This profile enables use of JDK from Maven Toolchains -->
<profile>
<id>integration-tests</id>
<activation>
@@ -708,21 +720,17 @@
</build>
</profile>
- <!-- This profile is used to launch tests with compilation into specific bytecode version. -->
+ <!--
+ Following profiles enable compilation into bytecode version 9
+ when requested "bytecode.version" greater than 9,
+ because this is maximum that can be processed by
+ maven-shade-plugin (https://issues.apache.org/jira/browse/MSHADE-289)
+ and maven-plugin-plugin (https://issues.apache.org/jira/browse/MPLUGIN-335),
+ This is overridden for tests.
+ -->
+
<profile>
- <id>bytecode</id>
- <activation>
- <property>
- <name>bytecode.version</name>
- </property>
- </activation>
- <properties>
- <maven.compiler.source>${bytecode.version}</maven.compiler.source>
- <maven.compiler.target>${bytecode.version}</maven.compiler.target>
- </properties>
- </profile>
- <profile>
- <id>java10-validation</id>
+ <id>java10-bytecode</id>
<activation>
<property>
<name>bytecode.version</name>
@@ -730,19 +738,40 @@
</property>
</activation>
<properties>
- <!--
- Compile into bytecode version 9 by default,
- because bytecode version 10 can't be processed by
- maven-shade-plugin (https://issues.apache.org/jira/browse/MSHADE-289)
- and maven-plugin-plugin (https://issues.apache.org/jira/browse/MPLUGIN-335),
- this is overridden for tests
- -->
- <maven.compiler.source>1.9</maven.compiler.source>
- <maven.compiler.target>1.9</maven.compiler.target>
+ <maven.compiler.source>9</maven.compiler.source>
+ <maven.compiler.target>9</maven.compiler.target>
</properties>
</profile>
- <!-- This profile is used for compilation with ECJ. -->
+ <profile>
+ <id>java11-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>11</value>
+ </property>
+ </activation>
+ <properties>
+ <maven.compiler.source>9</maven.compiler.source>
+ <maven.compiler.target>9</maven.compiler.target>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>java12-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>12</value>
+ </property>
+ </activation>
+ <properties>
+ <maven.compiler.source>9</maven.compiler.source>
+ <maven.compiler.target>9</maven.compiler.target>
+ </properties>
+ </profile>
+
+ <!-- This profile enables use of ECJ -->
<profile>
<id>ecj</id>
<activation>
@@ -758,6 +787,8 @@
<version>3.6.0</version>
<configuration>
<compilerId>eclipse</compilerId>
+ <source>1.8</source>
+ <target>1.8</target>
</configuration>
<dependencies>
<dependency>
@@ -776,12 +807,16 @@
</build>
</profile>
+ <!--
+ Profiles for different JDK versions:
+ -->
+
<profile>
- <id>jdk16</id>
+ <id>jdk6</id>
<activation>
<property>
<name>jdk.version</name>
- <value>1.6</value>
+ <value>6</value>
</property>
</activation>
<properties>
@@ -790,11 +825,11 @@
</profile>
<profile>
- <id>jdk17</id>
+ <id>jdk7</id>
<activation>
<property>
<name>jdk.version</name>
- <value>1.7</value>
+ <value>7</value>
</property>
</activation>
<properties>
@@ -803,11 +838,11 @@
</profile>
<profile>
- <id>jdk18</id>
+ <id>jdk8</id>
<activation>
<property>
<name>jdk.version</name>
- <value>1.8</value>
+ <value>8</value>
</property>
</activation>
<properties>
@@ -820,15 +855,55 @@
<activation>
<property>
<name>jdk.version</name>
- <value>1.9</value>
+ <value>9</value>
</property>
</activation>
<properties>
- <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args>
+ <bytecode.version>6</bytecode.version>
</properties>
</profile>
<profile>
+ <id>jdk10</id>
+ <activation>
+ <property>
+ <name>jdk.version</name>
+ <value>10</value>
+ </property>
+ </activation>
+ <properties>
+ <bytecode.version>6</bytecode.version>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>jdk11</id>
+ <activation>
+ <property>
+ <name>jdk.version</name>
+ <value>11</value>
+ </property>
+ </activation>
+ <properties>
+ <bytecode.version>6</bytecode.version>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>jdk12</id>
+ <activation>
+ <property>
+ <name>jdk.version</name>
+ <value>12</value>
+ </property>
+ </activation>
+ <properties>
+ <bytecode.version>6</bytecode.version>
+ </properties>
+ </profile>
+
+ <!-- This profile enables generation of JARs with sources and javadocs -->
+ <profile>
<id>sources</id>
<activation>
<file>
diff --git a/org.jacoco.core.test.validation.java5/.classpath b/org.jacoco.core.test.validation.java5/.classpath
new file mode 100644
index 0000000..ebe550b
--- /dev/null
+++ b/org.jacoco.core.test.validation.java5/.classpath
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/classes" path="src">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.jacoco.core.test.validation.java5/.project b/org.jacoco.core.test.validation.java5/.project
new file mode 100644
index 0000000..cfbae43
--- /dev/null
+++ b/org.jacoco.core.test.validation.java5/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jacoco.core.test.validation.java5</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>.settings</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/org.jacoco.core.test/.settings</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/org.jacoco.core.test.validation.java5/pom.xml b/org.jacoco.core.test.validation.java5/pom.xml
new file mode 100644
index 0000000..241dbc3
--- /dev/null
+++ b/org.jacoco.core.test.validation.java5/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Evgeny Mandrikov - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jacoco</groupId>
+ <artifactId>org.jacoco.core.test.validation</artifactId>
+ <version>0.8.2-SNAPSHOT</version>
+ <relativePath>../org.jacoco.core.test.validation</relativePath>
+ </parent>
+
+ <artifactId>org.jacoco.core.test.validation.java5</artifactId>
+
+ <name>JaCoCo :: Test :: Core :: Validation Java 5</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>org.jacoco.core.test</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/ConstructorTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/ConstructorTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/ConstructorTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/ConstructorTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/EnumConstructorTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/EnumConstructorTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/EnumConstructorTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/EnumConstructorTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/EnumSwitchTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/EnumSwitchTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/EnumSwitchTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/EnumSwitchTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/FinallyTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/FinallyTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/FinallyTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/FinallyTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/SynchronizedTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/SynchronizedTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/SynchronizedTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/SynchronizedTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/SyntheticTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/SyntheticTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/SyntheticTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/SyntheticTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Constructor.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Constructor.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Constructor.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Constructor.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/EnumConstructor.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/EnumConstructor.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/EnumConstructor.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/EnumConstructor.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/EnumSwitch.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/EnumSwitch.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/EnumSwitch.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/EnumSwitch.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Finally.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Finally.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Finally.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Finally.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Synchronized.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Synchronized.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Synchronized.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Synchronized.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Synthetic.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Synthetic.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/filter/targets/Synthetic.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/filter/targets/Synthetic.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/AnnotationInitializerTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/AnnotationInitializerTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/AnnotationInitializerTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/AnnotationInitializerTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/BadCycleClassTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/BadCycleClassTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/BadCycleClassTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/BadCycleClassTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/BooleanExpressionsTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ClassFileVersionsTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ClassInitializerTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ClassInitializerTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ClassInitializerTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ControlStructuresTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ControlStructuresTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ControlStructuresTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/CyclomaticComplexityTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/CyclomaticComplexityTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/CyclomaticComplexityTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/CyclomaticComplexityTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/EnumImplicitMethodsTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/EnumImplicitMethodsTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/EnumImplicitMethodsTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/EnumImplicitMethodsTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ExceptionsTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ExceptionsTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ExceptionsTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ExplicitInitialFrameTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ExplicitInitialFrameTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ExplicitInitialFrameTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ExplicitInitialFrameTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/FieldInitializationInTwoConstructorsTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/FramesTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/FramesTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/FramesTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/FramesTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ImplicitDefaultConstructorTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ImplicitFieldInitializationTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/InterfaceClassInitializerTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/PrivateEmptyDefaultConstructorTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ProbesBeforeSuperConstructorTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ProbesBeforeSuperConstructorTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ProbesBeforeSuperConstructorTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ProbesBeforeSuperConstructorTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ResizeInstructionsTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ResizeInstructionsTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/ResizeInstructionsTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/ResizeInstructionsTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/StructuredLockingTest.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/StructuredLockingTest.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/StructuredLockingTest.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/StructuredLockingTest.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/AnnotationInitializer.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/AnnotationInitializer.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/AnnotationInitializer.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/AnnotationInitializer.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/BadCycleClass.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/BadCycleClass.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/BadCycleClass.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/BadCycleClass.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/EnumImplicitMethods.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/EnumImplicitMethods.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/EnumImplicitMethods.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/EnumImplicitMethods.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target01.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target01.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target01.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target01.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target02.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target02.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target02.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target02.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target03.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target03.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target03.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target03.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target04.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target04.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target04.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target04.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target05.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target05.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target05.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target05.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target06.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target06.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target06.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target06.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target07.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target07.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target07.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target07.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target08.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target08.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target08.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target08.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target09.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target09.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target09.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target09.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target10.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target10.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target10.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target10.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target11.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target11.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target11.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target11.java
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target12.java b/org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target12.java
similarity index 100%
rename from org.jacoco.core.test/src/org/jacoco/core/test/validation/targets/Target12.java
rename to org.jacoco.core.test.validation.java5/src/org/jacoco/core/test/validation/targets/Target12.java
diff --git a/org.jacoco.core.test.validation.java7/.classpath b/org.jacoco.core.test.validation.java7/.classpath
new file mode 100644
index 0000000..c60c5da
--- /dev/null
+++ b/org.jacoco.core.test.validation.java7/.classpath
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/classes" path="src">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.jacoco.core.test.validation.java7/.project b/org.jacoco.core.test.validation.java7/.project
new file mode 100644
index 0000000..5ce971f
--- /dev/null
+++ b/org.jacoco.core.test.validation.java7/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jacoco.core.test.validation.java7</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>.settings</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/org.jacoco.core.test/.settings</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/org.jacoco.core.test.validation.java7/pom.xml b/org.jacoco.core.test.validation.java7/pom.xml
new file mode 100644
index 0000000..d213654
--- /dev/null
+++ b/org.jacoco.core.test.validation.java7/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Evgeny Mandrikov - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jacoco</groupId>
+ <artifactId>org.jacoco.core.test.validation</artifactId>
+ <version>0.8.2-SNAPSHOT</version>
+ <relativePath>../org.jacoco.core.test.validation</relativePath>
+ </parent>
+
+ <artifactId>org.jacoco.core.test.validation.java7</artifactId>
+
+ <name>JaCoCo :: Test :: Core :: Validation Java 7</name>
+
+ <properties>
+ <bytecode.version>7</bytecode.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>org.jacoco.core.test</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/StringSwitchTest.java b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/StringSwitchTest.java
similarity index 97%
rename from org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/StringSwitchTest.java
rename to org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/StringSwitchTest.java
index eefff0f..1518135 100644
--- a/org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/StringSwitchTest.java
+++ b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/StringSwitchTest.java
@@ -23,7 +23,7 @@
public class StringSwitchTest extends ValidationTestBase {
public StringSwitchTest() {
- super("src-java7", StringSwitch.class);
+ super(StringSwitch.class);
}
/**
diff --git a/org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/TryWithResourcesTest.java b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/TryWithResourcesTest.java
similarity index 98%
rename from org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/TryWithResourcesTest.java
rename to org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/TryWithResourcesTest.java
index ddafd69..fe44116 100644
--- a/org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/TryWithResourcesTest.java
+++ b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/TryWithResourcesTest.java
@@ -23,7 +23,7 @@
public class TryWithResourcesTest extends ValidationTestBase {
public TryWithResourcesTest() {
- super("src-java7", TryWithResources.class);
+ super(TryWithResources.class);
}
/**
diff --git a/org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/targets/StringSwitch.java b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/targets/StringSwitch.java
similarity index 100%
rename from org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/targets/StringSwitch.java
rename to org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/targets/StringSwitch.java
diff --git a/org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/targets/TryWithResources.java b/org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/targets/TryWithResources.java
similarity index 100%
rename from org.jacoco.core.test/src-java7/org/jacoco/core/test/filter/targets/TryWithResources.java
rename to org.jacoco.core.test.validation.java7/src/org/jacoco/core/test/filter/targets/TryWithResources.java
diff --git a/org.jacoco.core.test.validation.java8/.classpath b/org.jacoco.core.test.validation.java8/.classpath
new file mode 100644
index 0000000..9f0c38b
--- /dev/null
+++ b/org.jacoco.core.test.validation.java8/.classpath
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/classes" path="src">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.jacoco.core.test.validation.java8/.project b/org.jacoco.core.test.validation.java8/.project
new file mode 100644
index 0000000..deab0f7
--- /dev/null
+++ b/org.jacoco.core.test.validation.java8/.project
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jacoco.core.test.validation.java8</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>.settings</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/org.jacoco.core.test/.settings</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/org.jacoco.core.test.validation.java8/pom.xml b/org.jacoco.core.test.validation.java8/pom.xml
new file mode 100644
index 0000000..b682ab8
--- /dev/null
+++ b/org.jacoco.core.test.validation.java8/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Evgeny Mandrikov - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jacoco</groupId>
+ <artifactId>org.jacoco.core.test.validation</artifactId>
+ <version>0.8.2-SNAPSHOT</version>
+ <relativePath>../org.jacoco.core.test.validation</relativePath>
+ </parent>
+
+ <artifactId>org.jacoco.core.test.validation.java8</artifactId>
+
+ <name>JaCoCo :: Test :: Core :: Validation Java 8</name>
+
+ <properties>
+ <bytecode.version>8</bytecode.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>org.jacoco.core.test</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/AnnotationOnLocalVariableTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/AnnotationOnLocalVariableTest.java
similarity index 94%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/AnnotationOnLocalVariableTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/AnnotationOnLocalVariableTest.java
index 6472049..64e8faf 100644
--- a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/AnnotationOnLocalVariableTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/AnnotationOnLocalVariableTest.java
@@ -22,7 +22,7 @@
public class AnnotationOnLocalVariableTest extends ValidationTestBase {
public AnnotationOnLocalVariableTest() {
- super("src-java8", AnnotationOnLocalVariableTarget.class);
+ super(AnnotationOnLocalVariableTarget.class);
}
@Test
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/BadCycleInterfaceTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/BadCycleInterfaceTest.java
similarity index 97%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/BadCycleInterfaceTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/BadCycleInterfaceTest.java
index fdd7e00..a8ab672 100644
--- a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/BadCycleInterfaceTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/BadCycleInterfaceTest.java
@@ -21,7 +21,7 @@
public class BadCycleInterfaceTest extends ValidationTestBase {
public BadCycleInterfaceTest() throws Exception {
- super("src-java8", BadCycleInterface.class);
+ super(BadCycleInterface.class);
}
@Test
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/BootstrapMethodReferenceTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/BootstrapMethodReferenceTest.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/BootstrapMethodReferenceTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/BootstrapMethodReferenceTest.java
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/InterfaceDefaultMethodsTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/InterfaceDefaultMethodsTest.java
similarity index 94%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/InterfaceDefaultMethodsTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/InterfaceDefaultMethodsTest.java
index 5699851..4611d78 100644
--- a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/InterfaceDefaultMethodsTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/InterfaceDefaultMethodsTest.java
@@ -21,7 +21,7 @@
public class InterfaceDefaultMethodsTest extends ValidationTestBase {
public InterfaceDefaultMethodsTest() {
- super("src-java8", InterfaceDefaultMethodsTarget.class);
+ super(InterfaceDefaultMethodsTarget.class);
}
@Test
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/InterfaceOnlyDefaultMethodsTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/InterfaceOnlyDefaultMethodsTest.java
similarity index 94%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/InterfaceOnlyDefaultMethodsTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/InterfaceOnlyDefaultMethodsTest.java
index e572c63..bbb7f0e 100644
--- a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/InterfaceOnlyDefaultMethodsTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/InterfaceOnlyDefaultMethodsTest.java
@@ -21,7 +21,7 @@
public class InterfaceOnlyDefaultMethodsTest extends ValidationTestBase {
public InterfaceOnlyDefaultMethodsTest() {
- super("src-java8", InterfaceOnlyDefaultMethodsTarget.class);
+ super(InterfaceOnlyDefaultMethodsTarget.class);
}
@Test
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/LambdaExpressionsTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/LambdaExpressionsTest.java
similarity index 95%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/LambdaExpressionsTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/LambdaExpressionsTest.java
index 2e8da87..f134499 100644
--- a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/LambdaExpressionsTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/LambdaExpressionsTest.java
@@ -21,7 +21,7 @@
public class LambdaExpressionsTest extends ValidationTestBase {
public LambdaExpressionsTest() {
- super("src-java8", LambdaExpressionsTarget.class);
+ super(LambdaExpressionsTarget.class);
}
@Test
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/LambdaInInterfaceTest.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/LambdaInInterfaceTest.java
similarity index 95%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/LambdaInInterfaceTest.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/LambdaInInterfaceTest.java
index afa2e98..759a78f 100644
--- a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/LambdaInInterfaceTest.java
+++ b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/LambdaInInterfaceTest.java
@@ -21,7 +21,7 @@
public class LambdaInInterfaceTest extends ValidationTestBase {
public LambdaInInterfaceTest() {
- super("src-java8", LambdaInInterfaceTarget.class);
+ super(LambdaInInterfaceTarget.class);
}
@Override
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/AnnotationOnLocalVariableTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/AnnotationOnLocalVariableTarget.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/AnnotationOnLocalVariableTarget.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/AnnotationOnLocalVariableTarget.java
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/BadCycleInterface.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/BadCycleInterface.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/BadCycleInterface.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/BadCycleInterface.java
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/InterfaceDefaultMethodsTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/InterfaceDefaultMethodsTarget.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/InterfaceDefaultMethodsTarget.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/InterfaceDefaultMethodsTarget.java
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/InterfaceOnlyDefaultMethodsTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/InterfaceOnlyDefaultMethodsTarget.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/InterfaceOnlyDefaultMethodsTarget.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/InterfaceOnlyDefaultMethodsTarget.java
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/LambdaExpressionsTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/LambdaExpressionsTarget.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/LambdaExpressionsTarget.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/LambdaExpressionsTarget.java
diff --git a/org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/LambdaInInterfaceTarget.java b/org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/LambdaInInterfaceTarget.java
similarity index 100%
rename from org.jacoco.core.test/src-java8/org/jacoco/core/test/validation/targets/LambdaInInterfaceTarget.java
rename to org.jacoco.core.test.validation.java8/src/org/jacoco/core/test/validation/targets/LambdaInInterfaceTarget.java
diff --git a/org.jacoco.core.test.validation/.project b/org.jacoco.core.test.validation/.project
new file mode 100644
index 0000000..576c614
--- /dev/null
+++ b/org.jacoco.core.test.validation/.project
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jacoco.core.test.validation</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>.settings</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/org.jacoco.core.test/.settings</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/org.jacoco.core.test.validation/pom.xml b/org.jacoco.core.test.validation/pom.xml
new file mode 100644
index 0000000..691de9a
--- /dev/null
+++ b/org.jacoco.core.test.validation/pom.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Evgeny Mandrikov - initial API and implementation
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jacoco</groupId>
+ <artifactId>org.jacoco.tests</artifactId>
+ <version>0.8.2-SNAPSHOT</version>
+ <relativePath>../org.jacoco.tests</relativePath>
+ </parent>
+
+ <artifactId>org.jacoco.core.test.validation</artifactId>
+ <packaging>pom</packaging>
+
+ <name>JaCoCo :: Test :: Core :: Validation</name>
+
+ <modules>
+ <module>../org.jacoco.core.test.validation.java5</module>
+ </modules>
+
+ <properties>
+ <jacoco.skip>true</jacoco.skip>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>java5-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>5</value>
+ </property>
+ </activation>
+ </profile>
+
+ <profile>
+ <id>jdk5</id>
+ <activation>
+ <property>
+ <name>jdk.version</name>
+ <value>5</value>
+ </property>
+ </activation>
+ </profile>
+
+ <profile>
+ <id>java6-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>6</value>
+ </property>
+ </activation>
+ </profile>
+
+ <profile>
+ <id>jdk6</id>
+ <activation>
+ <property>
+ <name>jdk.version</name>
+ <value>6</value>
+ </property>
+ </activation>
+ </profile>
+
+ <profile>
+ <id>java7-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>7</value>
+ </property>
+ </activation>
+ <modules>
+ <module>../org.jacoco.core.test.validation.java7</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>jdk7</id>
+ <activation>
+ <property>
+ <name>jdk.version</name>
+ <value>7</value>
+ </property>
+ </activation>
+ <modules>
+ <module>../org.jacoco.core.test.validation.java7</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>java8-bytecode</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ <property>
+ <name>bytecode.version</name>
+ <value>8</value>
+ </property>
+ </activation>
+ <modules>
+ <module>../org.jacoco.core.test.validation.java7</module>
+ <module>../org.jacoco.core.test.validation.java8</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>java10-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>10</value>
+ </property>
+ </activation>
+ <properties>
+ <!-- see respective profile in org.jacoco.build about this override -->
+ <maven.compiler.source>10</maven.compiler.source>
+ <maven.compiler.target>10</maven.compiler.target>
+ </properties>
+ <modules>
+ <module>../org.jacoco.core.test.validation.java7</module>
+ <module>../org.jacoco.core.test.validation.java8</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>java11-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>11</value>
+ </property>
+ </activation>
+ <properties>
+ <!-- see respective profile in org.jacoco.build about this override -->
+ <maven.compiler.source>11</maven.compiler.source>
+ <maven.compiler.target>11</maven.compiler.target>
+ </properties>
+ <modules>
+ <module>../org.jacoco.core.test.validation.java7</module>
+ <module>../org.jacoco.core.test.validation.java8</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>java12-bytecode</id>
+ <activation>
+ <property>
+ <name>bytecode.version</name>
+ <value>12</value>
+ </property>
+ </activation>
+ <properties>
+ <!-- see respective profile in org.jacoco.build about this override -->
+ <maven.compiler.source>12</maven.compiler.source>
+ <maven.compiler.target>12</maven.compiler.target>
+ </properties>
+ <modules>
+ <module>../org.jacoco.core.test.validation.java7</module>
+ <module>../org.jacoco.core.test.validation.java8</module>
+ </modules>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/org.jacoco.core.test/pom.xml b/org.jacoco.core.test/pom.xml
index 0c6a492..9e80508 100644
--- a/org.jacoco.core.test/pom.xml
+++ b/org.jacoco.core.test/pom.xml
@@ -46,139 +46,4 @@
</dependency>
</dependencies>
- <profiles>
- <profile>
- <id>java7-validation</id>
- <activation>
- <property>
- <name>bytecode.version</name>
- <value>1.7</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src-java7</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>java8-validation</id>
- <activation>
- <property>
- <name>bytecode.version</name>
- <value>1.8</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src-java7</source>
- <source>src-java8</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>java9-validation</id>
- <activation>
- <!-- for some reason activation should be presented here, even if already defined in parent -->
- <property>
- <name>bytecode.version</name>
- <value>1.9</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src-java7</source>
- <source>src-java8</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>java10-validation</id>
- <activation>
- <!-- for some reason activation should be presented here, even if already defined in parent -->
- <property>
- <name>bytecode.version</name>
- <value>10</value>
- </property>
- </activation>
- <properties>
- <maven.compiler.target>10</maven.compiler.target>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src-java7</source>
- <source>src-java8</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
diff --git a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java
index 6ab5859..b285384 100644
--- a/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java
+++ b/org.jacoco.core.test/src/org/jacoco/core/test/validation/ValidationTestBase.java
@@ -51,8 +51,6 @@
STATUS_NAME[ICounter.PARTLY_COVERED] = "PARTLY_COVERED";
}
- private final String srcFolder;
-
private final Class<?> target;
private ISourceFileCoverage sourceCoverage;
@@ -61,20 +59,15 @@
private InstrumentingLoader loader;
- protected ValidationTestBase(final String srcFolder, final Class<?> target) {
- this.srcFolder = srcFolder;
- this.target = target;
- }
-
protected ValidationTestBase(final Class<?> target) {
- this("src", target);
+ this.target = target;
}
@Before
public void setup() throws Exception {
final ExecutionDataStore store = execute();
analyze(store);
- source = Source.getSourceFor(srcFolder, target);
+ source = Source.getSourceFor("src", target);
}
private ExecutionDataStore execute() throws Exception {
diff --git a/org.jacoco.doc/docroot/doc/build.html b/org.jacoco.doc/docroot/doc/build.html
index 3a125e0..987fcc6 100644
--- a/org.jacoco.doc/docroot/doc/build.html
+++ b/org.jacoco.doc/docroot/doc/build.html
@@ -6,6 +6,21 @@
<link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" />
<link rel="stylesheet" href="../coverage/jacoco-resources/prettify.css" charset="UTF-8" type="text/css" />
<link rel="shortcut icon" href="resources/report.gif" type="image/gif" />
+ <style>
+ table, th, td {
+ border-collapse: collapse;
+ padding: 3px;
+ }
+ table tbody tr td:nth-child(2) {
+ border-right: #b0b0b0 3px solid;
+ }
+ th {
+ background-color:#e0e0e0;
+ }
+ table tbody td:hover {
+ background: #f0f0d0;
+ }
+ </style>
<script type="text/javascript" src="../coverage/jacoco-resources/prettify.js"></script>
<title>JaCoCo - Build</title>
</head>
@@ -24,9 +39,9 @@
The JaCoCo build is based on <a href="http://maven.apache.org/">Maven</a> and
can be locally executed on every machine with a proper
<a href="environment.html">environment setup</a>. In particular you need at
- least <a href="http://maven.apache.org/">Maven 3.3.9</a> installation.
- Developers are encouraged to run the build before every commit to ensure
- consistency of the source tree.
+ least <a href="http://maven.apache.org/">Maven 3.3.9</a> and JDK 8
+ installations. Developers are encouraged to run the build before every commit
+ to ensure consistency of the source tree.
</p>
@@ -63,92 +78,62 @@
</pre>
-<h2>Testing with different JDKs</h2>
+<h2>Compilation and testing with different JDKs</h2>
<p>
- Target Java version for JaCoCo builds is 1.5, however for verification
- purposes you can execute tests using other versions. In order to do so, first
- you should create file <code>toolchains.xml</code> in <code>~/.m2/</code>
- directory. Here is an example of such file. For more information see
+ By default for compilation and execution of tests will be used JDK that runs
+ Maven. Alternatively you can use JDK from
<a href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">Maven
- Guide to Using Toolchains</a>.
+ Toolchains</a> by setting property <code>jdk.version</code>.
</p>
-<pre class="source lang-xml linenums">
-<?xml version="1.0" encoding="UTF8"?>
-<toolchains>
- <toolchain>
- <type>jdk</type>
- <provides>
- <id>java15</id>
- <version>1.5</version>
- <vendor>sun</vendor>
- </provides>
- <configuration>
- <jdkHome>/usr/lib/jvm/sun-jdk-1.5</jdkHome>
- </configuration>
- </toolchain>
- <toolchain>
- <type>jdk</type>
- <provides>
- <id>java16</id>
- <version>1.6</version>
- <vendor>sun</vendor>
- </provides>
- <configuration>
- <jdkHome>/usr/lib/jvm/sun-jdk-1.6</jdkHome>
- </configuration>
- </toolchain>
- <toolchain>
- <type>jdk</type>
- <provides>
- <id>java17</id>
- <version>1.7</version>
- <vendor>sun</vendor>
- </provides>
- <configuration>
- <jdkHome>/usr/lib/jvm/sun-jdk-1.7</jdkHome>
- </configuration>
- </toolchain>
- <toolchain>
- <type>jdk</type>
- <provides>
- <id>java18</id>
- <version>1.8</version>
- <vendor>sun</vendor>
- </provides>
- <configuration>
- <jdkHome>/usr/lib/jvm/sun-jdk-1.8</jdkHome>
- </configuration>
- </toolchain>
- <toolchain>
- <type>jdk</type>
- <provides>
- <id>java19</id>
- <version>1.9</version>
- <vendor>sun</vendor>
- </provides>
- <configuration>
- <jdkHome>/usr/lib/jvm/sun-jdk-1.9</jdkHome>
- </configuration>
- </toolchain>
-</toolchains>
-</pre>
+<p>
+ Following table shows how modules will be compiled depending on version of JDK:
+</p>
+
+<table>
+ <thead>
+ <tr>
+ <th></th>
+ <th>JDK 5</th>
+ <th>JDK 6</th>
+ <th>JDK 7</th>
+ <th>JDK 8</th>
+ <th>JDK 9</th>
+ <th>JDK 10</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th>org.jacoco.core.test.validation.java7</th>
+ <td colspan="2">excluded from build</td>
+ <td colspan="4">compiled into bytecode version 51 (Java 7)</td>
+ </tr>
+ <tr>
+ <th>org.jacoco.core.test.validation.java8</th>
+ <td colspan="3">excluded from build</td>
+ <td colspan="3">compiled into bytecode version 52 (Java 8)</td>
+ </tr>
+ <tr>
+ <th>all other modules</th>
+ <td colspan="4">compiled into bytecode version 49 (Java 5)</td>
+ <td colspan="2">compiled into bytecode version 50 (Java 6)</td>
+ </tr>
+ </tbody>
+</table>
<p>
- Now you should be able to execute maven build with specified version of JDK:
+ Alternatively you can specify bytecode version for all modules using property
+ <code>bytecode.version</code>.
+</p>
+
+<p>
+ For example to use JDK 10 from Maven Toolchains and compile all modules
+ into bytecode version 53 (Java 9):
</p>
<pre>
- mvn clean install -Djdk.version=<i>version</i>
-</pre>
-
-<p>
- Location of <code>toolchains.xml</code> can be set via an option:
-</p>
-
-<pre>
- mvn --toolchains <i>path</i> clean install -Djdk.version=<i>version</i>
+ mvn clean install -Djdk.version=10 -Dbytecode.version=9
</pre>
<p>
@@ -160,20 +145,17 @@
</pre>
<p>
- In addition JaCoCo can be compiled for higher class file versions than 1.5
- specifying the property <code>bytecode.version</code>. Note that in this case
- the version of the JVM running Maven must be at least the version of the
- specified bytecode version as this JVM is also running the tests. Combining
- these options JaCoCo is regularly tested with the following setups:
+ Combining these options JaCoCo is regularly tested with the following setups:
</p>
<ul>
- <li>Maven with 1.5 JDK: <code>mvn clean install -Djdk.version=1.5 -Dbytecode.version=1.5</code></li>
- <li>Maven with 1.6 JDK: <code>mvn clean install -Djdk.version=1.6 -Dbytecode.version=1.6</code></li>
- <li>Maven with 1.7 JDK: <code>mvn clean install -Djdk.version=1.7 -Dbytecode.version=1.7</code></li>
- <li>Maven with 1.8 JDK: <code>mvn clean install -Djdk.version=1.8 -Dbytecode.version=1.8</code></li>
- <li>Maven with 1.8 JDK: <code>mvn clean install -Djdk.version=1.8 -Dbytecode.version=1.8 -Decj</code></li>
- <li>Maven with 1.9 JDK: <code>mvn clean install -Djdk.version=1.9 -Dbytecode.version=1.9</code></li>
+ <li><code>mvn clean install -Djdk.version=5 -Dbytecode.version=5</code></li>
+ <li><code>mvn clean install -Djdk.version=6 -Dbytecode.version=6</code></li>
+ <li><code>mvn clean install -Djdk.version=7 -Dbytecode.version=7</code></li>
+ <li><code>mvn clean install -Djdk.version=8 -Dbytecode.version=8</code></li>
+ <li><code>mvn clean install -Djdk.version=8 -Dbytecode.version=8 -Decj</code></li>
+ <li><code>mvn clean install -Djdk.version=9 -Dbytecode.version=9</code></li>
+ <li><code>mvn clean install -Djdk.version=10 -Dbytecode.version=10</code></li>
</ul>
diff --git a/org.jacoco.doc/docroot/doc/changes.html b/org.jacoco.doc/docroot/doc/changes.html
index 02dc8cb..daca307 100644
--- a/org.jacoco.doc/docroot/doc/changes.html
+++ b/org.jacoco.doc/docroot/doc/changes.html
@@ -49,6 +49,8 @@
<li>Improved error message when already instrumented classes are used for
instrumentation or analysis
(GitHub <a href="https://github.com/jacoco/jacoco/issues/703">#703</a>).</li>
+ <li>JaCoCo build now requires at least Maven 3.3.9 and JDK 8
+ (GitHub <a href="https://github.com/jacoco/jacoco/issues/711">#711</a>).</li>
</ul>
<h3>API Changes</h3>
diff --git a/org.jacoco.doc/docroot/doc/environment.html b/org.jacoco.doc/docroot/doc/environment.html
index bcc5953..2a303d8 100644
--- a/org.jacoco.doc/docroot/doc/environment.html
+++ b/org.jacoco.doc/docroot/doc/environment.html
@@ -66,16 +66,16 @@
<h3>JRE/JDK</h3>
<p>
- The minimum supported JRE version for JaCoCo is Java 1.5. To guarantee
- compatibility JaCoCo builds should always be executed against Java 1.5 JDK. In
- addition we run builds with 1.6, 1.7, 1.8 and 1.9 JDKs.
+ 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 and 10 JDKs.
</p>
<h3>Build</h3>
<p>
The JaCoCo build is based on <a href="http://maven.apache.org/">Maven</a>
- and requires at least Maven 3.3.9.
+ and requires at least Maven 3.3.9 and JDK 8.
See the <a href="build.html">build description</a> for details.
</p>
diff --git a/org.jacoco.tests/pom.xml b/org.jacoco.tests/pom.xml
index 7f07117..8e49ba7 100644
--- a/org.jacoco.tests/pom.xml
+++ b/org.jacoco.tests/pom.xml
@@ -27,6 +27,7 @@
<modules>
<module>../org.jacoco.core.test</module>
+ <module>../org.jacoco.core.test.validation</module>
<module>../org.jacoco.report.test</module>
<module>../org.jacoco.agent.rt.test</module>
<module>../org.jacoco.agent.test</module>