diff --git a/failsafe-controller/pom.xml b/failsafe-controller/pom.xml
index 6149076..0c85c0b 100644
--- a/failsafe-controller/pom.xml
+++ b/failsafe-controller/pom.xml
@@ -48,6 +48,7 @@
org.codehaus.groovy
groovy-all
+ pom
@@ -61,16 +62,4 @@
test
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
-
- true
-
-
-
-
diff --git a/junit-extensions/pom.xml b/junit-extensions/pom.xml
index 0f20abf..9c0e776 100644
--- a/junit-extensions/pom.xml
+++ b/junit-extensions/pom.xml
@@ -51,11 +51,6 @@
pom
test
-
- org.codehaus.groovy
- groovy-all
- test
-
@@ -78,17 +73,17 @@
INSTRUCTION
COVEREDRATIO
- 0.70
+ 0.74
BRANCH
COVEREDRATIO
- 0.66
+ 0.64
COMPLEXITY
COVEREDRATIO
- 0.54
+ 0.52
diff --git a/junit-extensions/src/main/java/org/codice/junit/impl/DeFinalizeClassLoader.java b/junit-extensions/src/main/java/org/codice/junit/impl/DeFinalizeClassLoader.java
index 60cfb6f..1309158 100644
--- a/junit-extensions/src/main/java/org/codice/junit/impl/DeFinalizeClassLoader.java
+++ b/junit-extensions/src/main/java/org/codice/junit/impl/DeFinalizeClassLoader.java
@@ -47,6 +47,8 @@
* loaded by the parent classloader.
*/
public class DeFinalizeClassLoader extends ClassLoader {
+ private static final double VERSION =
+ Double.parseDouble(System.getProperty("java.specification.version"));
private final ClassPool pool;
private final Set filters;
@@ -103,7 +105,7 @@ protected Class> loadClass(String name, boolean resolve) throws ClassNotFoundE
if (clazz == null) {
clazz = super.loadClass(name, resolve); // always load it from our parent first
- if (DeFinalizeClassLoader.isNotFromAReservedPackage(name)) {
+ if (DeFinalizeClassLoader.isNotFromAReservedPackage(clazz, name)) {
try {
clazz = reloadClass(clazz, shouldDefinalize(name));
} catch (NotFoundException e) {
@@ -170,18 +172,27 @@ private void definalizeMethod(CtMethod ctMethod) {
}
}
+ private static boolean isNotFromAReservedPackage(Class> clazz, String name) {
+ // with post Java 8, classes loaded by the boot classloader (i.e. null) are reserved
+ if ((DeFinalizeClassLoader.VERSION >= 9.0D) && (clazz.getClassLoader() == null)) {
+ return false;
+ }
+ return DeFinalizeClassLoader.isNotFromAReservedPackage(name);
+ }
+
private static boolean isNotFromAReservedPackage(String name) {
return !name.startsWith("java.")
&& !name.startsWith("javax.")
&& !name.startsWith("sun.")
&& !name.startsWith("org.xml.")
- && !name.startsWith("org.junit.");
+ && !name.startsWith("org.junit.")
+ && !name.startsWith("jdk.");
}
private static String checkDefinalizedClass(Class> clazz) {
final String name = clazz.getName();
- if (!DeFinalizeClassLoader.isNotFromAReservedPackage(name)) {
+ if (!DeFinalizeClassLoader.isNotFromAReservedPackage(clazz, name)) {
throw new IllegalArgumentException("unable to definalize class: " + name);
}
return name;
diff --git a/pom.xml b/pom.xml
index d132b08..f7c3c8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,18 +36,21 @@
+ UTF-8
+
- 1.8
- 1.8
+ 11
+ 11
+ 11
- 0.1
+ 0.2
2.6
- 23.0
+ 26.0-jre
3.0.2_1
1.7.1
0.9.5
@@ -55,12 +58,12 @@
1.2.3
4.12
- 1.1-groovy-2.4
- 2.4.7
- 2.8.47
+ 1.2-groovy-2.5
+ 2.5.3-SNAPSHOT
+ 2.23.0
1.3
- 3.22.0-GA
+ 3.23.1-GA
refs/remotes/origin/master
@@ -69,7 +72,8 @@
false
- 0.8.1
+ 0.8.2
+ 2.22.0
@@ -112,6 +116,14 @@
Codice Repository
https://artifacts.codice.org/content/groups/public/
+
+
+ oss-jfrog
+ https://oss.jfrog.org/artifactory/libs-snapshot/
+
+ true
+
+
@@ -201,18 +213,55 @@
org.codehaus.groovy
- groovy-all
+ groovy-dateutil
${groovy.version}
org.spockframework
spock-core
${spock.version}
+
org.codehaus.groovy
groovy-all
+
+ org.codehaus.groovy
+ groovy
+
+
+ org.codehaus.groovy
+ groovy-groovysh
+
+
+ org.codehaus.groovy
+ groovy-json
+
+
+ org.codehaus.groovy
+ groovy-macro
+
+
+ org.codehaus.groovy
+ groovy-nio
+
+
+ org.codehaus.groovy
+ groovy-sql
+
+
+ org.codehaus.groovy
+ groovy-templates
+
+
+ org.codehaus.groovy
+ groovy-test
+
+
+ org.codehaus.groovy
+ groovy-xml
+
@@ -229,15 +278,20 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
org.apache.maven.plugins
maven-jar-plugin
- 3.0.2
+ 3.1.0
org.apache.maven.plugins
maven-assembly-plugin
- 2.2.2
+ 3.1.0
org.jacoco
@@ -262,14 +316,23 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.20.1
+ ${maven-surefire-plugin.version}
- ${argLine} -Djava.awt.headless=true -noverify
+ ${argLine} -Djava.awt.headless=true -noverify
+
**/*Test.java
**/*Spec.class
+
+
+
+ org.apache.maven.surefire
+ surefire-junit47
+ ${maven-surefire-plugin.version}
+
+
@@ -278,7 +341,7 @@
com.coveo
fmt-maven-plugin
- 2.0.0
+ 2.5.1
validate
@@ -291,15 +354,19 @@
org.codehaus.gmavenplus
gmavenplus-plugin
- 1.5
+ 1.6.1
compile
- testCompile
+ compileTests
+
+
+ 1.8
+
org.jacoco
diff --git a/spock-all/pom.xml b/spock-all/pom.xml
index 8ed56dd..e9c85c9 100644
--- a/spock-all/pom.xml
+++ b/spock-all/pom.xml
@@ -33,12 +33,12 @@
org.ow2.asm
asm
- 5.0.4
+ 7.0-beta
cglib
cglib-nodep
- 3.2.6
+ 3.2.8
org.objenesis
@@ -50,6 +50,10 @@
groovy-all
pom
+
+ org.codehaus.groovy
+ groovy-dateutil
+
org.spockframework
spock-core
diff --git a/spock-extensions/pom.xml b/spock-extensions/pom.xml
index ede0f03..514edc1 100644
--- a/spock-extensions/pom.xml
+++ b/spock-extensions/pom.xml
@@ -29,6 +29,7 @@
org.codehaus.groovy
groovy-all
+ pom
org.spockframework