diff --git a/base-java-pom/compatibility-tests/dropwizard-1x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-1x/pom.xml index 4828b86..912e20c 100644 --- a/base-java-pom/compatibility-tests/dropwizard-1x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-1x/pom.xml @@ -43,6 +43,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-1x/src/test/java/zone/dragon/basepom/dw1x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-1x/src/test/java/zone/dragon/basepom/dw1x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..3e2c39d --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-1x/src/test/java/zone/dragon/basepom/dw1x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dw1x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +public class MockitoCompatibilityTest { + + @Test + public void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + public void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-2x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-2x/pom.xml index 36bd74f..46807aa 100644 --- a/base-java-pom/compatibility-tests/dropwizard-2x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-2x/pom.xml @@ -43,6 +43,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-2x/src/test/java/zone/dragon/basepom/dw2x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-2x/src/test/java/zone/dragon/basepom/dw2x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..4ddbe19 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-2x/src/test/java/zone/dragon/basepom/dw2x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dw2x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-3x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-3x/pom.xml index 7d9a3e3..19669ed 100644 --- a/base-java-pom/compatibility-tests/dropwizard-3x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-3x/pom.xml @@ -47,6 +47,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-3x/src/test/java/zone/dragon/basepom/dw3x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-3x/src/test/java/zone/dragon/basepom/dw3x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..007b8d3 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-3x/src/test/java/zone/dragon/basepom/dw3x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dw3x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-4x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-4x/pom.xml index d52b816..68ea628 100644 --- a/base-java-pom/compatibility-tests/dropwizard-4x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-4x/pom.xml @@ -47,6 +47,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-4x/src/test/java/zone/dragon/basepom/dw4x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-4x/src/test/java/zone/dragon/basepom/dw4x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..9843947 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-4x/src/test/java/zone/dragon/basepom/dw4x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dw4x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-5x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-5x/pom.xml index 32b5b5d..d1b0923 100644 --- a/base-java-pom/compatibility-tests/dropwizard-5x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-5x/pom.xml @@ -47,6 +47,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-5x/src/test/java/zone/dragon/basepom/dw5x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-5x/src/test/java/zone/dragon/basepom/dw5x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..1c03729 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-5x/src/test/java/zone/dragon/basepom/dw5x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dw5x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-1x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-bundle-1x/pom.xml index 4734aa2..05f69fc 100644 --- a/base-java-pom/compatibility-tests/dropwizard-bundle-1x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-1x/pom.xml @@ -43,6 +43,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-1x/src/test/java/zone/dragon/basepom/dwbundle1x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-bundle-1x/src/test/java/zone/dragon/basepom/dwbundle1x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..d43ab91 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-1x/src/test/java/zone/dragon/basepom/dwbundle1x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dwbundle1x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +public class MockitoCompatibilityTest { + + @Test + public void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + public void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-2x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-bundle-2x/pom.xml index d8a1ca1..086c322 100644 --- a/base-java-pom/compatibility-tests/dropwizard-bundle-2x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-2x/pom.xml @@ -43,6 +43,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-2x/src/test/java/zone/dragon/basepom/dwbundle2x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-bundle-2x/src/test/java/zone/dragon/basepom/dwbundle2x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..1ceb52c --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-2x/src/test/java/zone/dragon/basepom/dwbundle2x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dwbundle2x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-3x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-bundle-3x/pom.xml index 13c41a7..148fe42 100644 --- a/base-java-pom/compatibility-tests/dropwizard-bundle-3x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-3x/pom.xml @@ -47,6 +47,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-3x/src/test/java/zone/dragon/basepom/dwbundle3x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-bundle-3x/src/test/java/zone/dragon/basepom/dwbundle3x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..8bd2a7d --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-3x/src/test/java/zone/dragon/basepom/dwbundle3x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dwbundle3x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-4x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-bundle-4x/pom.xml index 5ef47f9..190cd71 100644 --- a/base-java-pom/compatibility-tests/dropwizard-bundle-4x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-4x/pom.xml @@ -47,6 +47,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-4x/src/test/java/zone/dragon/basepom/dwbundle4x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-bundle-4x/src/test/java/zone/dragon/basepom/dwbundle4x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..cca2cc3 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-4x/src/test/java/zone/dragon/basepom/dwbundle4x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dwbundle4x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-5x/pom.xml b/base-java-pom/compatibility-tests/dropwizard-bundle-5x/pom.xml index ee93214..592a4c7 100644 --- a/base-java-pom/compatibility-tests/dropwizard-bundle-5x/pom.xml +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-5x/pom.xml @@ -47,6 +47,11 @@ assertj-core test + + org.mockito + mockito-core + test + diff --git a/base-java-pom/compatibility-tests/dropwizard-bundle-5x/src/test/java/zone/dragon/basepom/dwbundle5x/MockitoCompatibilityTest.java b/base-java-pom/compatibility-tests/dropwizard-bundle-5x/src/test/java/zone/dragon/basepom/dwbundle5x/MockitoCompatibilityTest.java new file mode 100644 index 0000000..d96de54 --- /dev/null +++ b/base-java-pom/compatibility-tests/dropwizard-bundle-5x/src/test/java/zone/dragon/basepom/dwbundle5x/MockitoCompatibilityTest.java @@ -0,0 +1,25 @@ +package zone.dragon.basepom.dwbundle5x; + +import java.util.HashSet; +import java.util.function.Supplier; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +import static org.assertj.core.api.Assertions.assertThat; + +class MockitoCompatibilityTest { + + @Test + void mockitoCanMockJdkInterfaces() { + Supplier mock = Mockito.mock(Supplier.class); + assertThat(mock).isNotNull(); + assertThat(mock.get()).isNull(); + } + + @Test + void mockitoCanMockJdkClasses() { + HashSet mock = Mockito.mock(HashSet.class); + assertThat(mock).isNotNull(); + assertThat(mock.size()).isEqualTo(0); + } +} diff --git a/base-java-pom/compatibility-tests/jvm-libraries/pom.xml b/base-java-pom/compatibility-tests/jvm-libraries/pom.xml index 8671fd7..1ebe61f 100644 --- a/base-java-pom/compatibility-tests/jvm-libraries/pom.xml +++ b/base-java-pom/compatibility-tests/jvm-libraries/pom.xml @@ -67,6 +67,16 @@ junit test + + net.bytebuddy + byte-buddy + test + + + org.ow2.asm + asm + test + org.assertj assertj-core diff --git a/base-java-pom/compatibility-tests/jvm-libraries/src/test/kotlin/AsmCompatibilityTest.kt b/base-java-pom/compatibility-tests/jvm-libraries/src/test/kotlin/AsmCompatibilityTest.kt new file mode 100644 index 0000000..4923cc5 --- /dev/null +++ b/base-java-pom/compatibility-tests/jvm-libraries/src/test/kotlin/AsmCompatibilityTest.kt @@ -0,0 +1,20 @@ +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test +import org.objectweb.asm.ClassReader +import org.objectweb.asm.Opcodes + +class AsmCompatibilityTest { + + @Test + fun asmCanReadJdkClass() { + val reader = ClassReader("java.util.HashSet") + assertThat(reader.className).isEqualTo("java/util/HashSet") + assertThat(reader.superName).isEqualTo("java/util/AbstractSet") + assertThat(reader.access and Opcodes.ACC_PUBLIC).isNotEqualTo(0) + } + + @Test + fun asmSupportsCurrentJdkVersion() { + assertThat(Opcodes.V26).isGreaterThan(0) + } +} diff --git a/base-java-pom/compatibility-tests/jvm-libraries/src/test/kotlin/ByteBuddyCompatibilityTest.kt b/base-java-pom/compatibility-tests/jvm-libraries/src/test/kotlin/ByteBuddyCompatibilityTest.kt new file mode 100644 index 0000000..273a0ba --- /dev/null +++ b/base-java-pom/compatibility-tests/jvm-libraries/src/test/kotlin/ByteBuddyCompatibilityTest.kt @@ -0,0 +1,13 @@ +import net.bytebuddy.ClassFileVersion +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test + +class ByteBuddyCompatibilityTest { + + @Test + fun byteBuddySupportsCurrentJdkVersion() { + val currentVersion = ClassFileVersion.ofThisVm() + val jdk25 = ClassFileVersion.ofJavaVersion(25) + assertThat(currentVersion.isAtLeast(jdk25)).isTrue() + } +} diff --git a/base-java-pom/pom.xml b/base-java-pom/pom.xml index 36d82f0..a1d4278 100644 --- a/base-java-pom/pom.xml +++ b/base-java-pom/pom.xml @@ -46,6 +46,8 @@ ${java.version} 3.24.2 + 9.9.1 + 1.18.7 1.11.0 1.21.0 4.5.0 @@ -191,6 +193,18 @@ ${mockito.version} test + + net.bytebuddy + byte-buddy + ${bytebuddy.version} + + + org.ow2.asm + asm-bom + ${asm.version} + pom + import + org.apache.commons @@ -719,37 +733,6 @@ - - kotlin-js - - - kotlin-js.enable - true - - - - - - kotlin-maven-plugin - org.jetbrains.kotlin - - - kotlin-js-compile - compile - - js - - - ${project.basedir}/src/main/kotlin - ${project.build.outputDirectory}/${project.artifactId}.js - true - - - - - - - java-9-support