From 94a251bc2dd6c99cd97770b1596fd708cd5458a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Mu=C3=B1oz?= Date: Sun, 11 Feb 2024 22:23:19 +0100 Subject: [PATCH] java modules v2 --- api/build.gradle | 2 +- api/src/main/java/module-info.java | 13 +++++++++++++ build.gradle | 9 +++++++++ client/build.gradle | 2 +- client/src/main/java/module-info.java | 12 ++++++++++++ gradle.properties | 2 +- gradle/libs.versions.toml | 4 ++-- junit4/src/main/java/module-info.java | 13 +++++++++++++ junit5/src/main/java/module-info.java | 16 ++++++++++++++++ server/src/main/java/module-info.java | 14 ++++++++++++++ 10 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 api/src/main/java/module-info.java create mode 100644 client/src/main/java/module-info.java create mode 100644 junit4/src/main/java/module-info.java create mode 100644 junit5/src/main/java/module-info.java create mode 100644 server/src/main/java/module-info.java diff --git a/api/build.gradle b/api/build.gradle index 6767a445..7f759df8 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -2,11 +2,11 @@ dependencies { api libs.purefunCore api libs.jaxb + api libs.purejson implementation libs.purefunTypeclasses implementation libs.purefunMonad implementation libs.purefunEffect runtimeOnly libs.purefunInstances - implementation libs.purejson implementation libs.jsonPath testImplementation libs.equalsVerifier } diff --git a/api/src/main/java/module-info.java b/api/src/main/java/module-info.java new file mode 100644 index 00000000..9d92761b --- /dev/null +++ b/api/src/main/java/module-info.java @@ -0,0 +1,13 @@ +module com.github.tonivade.zeromock.api { + exports com.github.tonivade.zeromock.api; + + requires transitive com.github.tonivade.purefun; + requires transitive com.github.tonivade.purefun.core; + requires static com.github.tonivade.purefun.effect; + requires static com.github.tonivade.purefun.monad; + requires transitive com.github.tonivade.purefun.typeclasses; + requires transitive com.github.tonivade.purejson; + requires static jakarta.xml.bind; + requires transitive java.xml; + requires static json.path; +} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 9091db96..ae29e300 100644 --- a/build.gradle +++ b/build.gradle @@ -72,6 +72,9 @@ allprojects { compileJava { options.compilerArgs << '-Xlint:unchecked' options.compilerArgs << '-Xlint:rawtypes' + options.compilerArgs << '-Xlint:module' + options.compilerArgs << '-Xlint:exports' + options.compilerArgs << '-Xlint:opens' options.release = 21 } @@ -120,6 +123,12 @@ subprojects { } } + javadoc { + modularity.inferModulePath = false + + exclude "module-info.java" + } + publishing { publications { mavenJava(MavenPublication) { diff --git a/client/build.gradle b/client/build.gradle index 1313a83b..0fd0dfce 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -1,8 +1,8 @@ dependencies { api projects.zeromockApi + api libs.purejson implementation libs.purefunMonad implementation libs.purefunEffect - implementation libs.purejson runtimeOnly libs.purefunInstances testImplementation projects.zeromockServer } diff --git a/client/src/main/java/module-info.java b/client/src/main/java/module-info.java new file mode 100644 index 00000000..cc842ca9 --- /dev/null +++ b/client/src/main/java/module-info.java @@ -0,0 +1,12 @@ +module com.github.tonivade.zeromock.client { + exports com.github.tonivade.zeromock.client; + + requires transitive com.github.tonivade.purefun; + requires transitive com.github.tonivade.purefun.core; + requires static com.github.tonivade.purefun.effect; + requires static com.github.tonivade.purefun.monad; + requires transitive com.github.tonivade.purefun.typeclasses; + requires transitive com.github.tonivade.purejson; + requires transitive com.github.tonivade.zeromock.api; + requires transitive java.net.http; +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a635c295..6345b747 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.1-SNAPSHOT +version=2.0-SNAPSHOT systemProp.sonar.gradle.skipCompile=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 96d012b4..cc8c1e05 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,8 +4,8 @@ junitVersion = "4.13.2" junitEngineVersion = "5.10.2" junitPlatformVersion = "1.10.2" equalsVerifierVersion = "3.16.1" -purefunVersion = "5.0" -purejsonVersion = "1.0" +purefunVersion = "6.0-SNAPSHOT" +purejsonVersion = "2.0-SNAPSHOT" jaxbVersion = "4.0.5" jsonPathVersion = "2.9.0" sonarVersion = "4.4.1.3373" diff --git a/junit4/src/main/java/module-info.java b/junit4/src/main/java/module-info.java new file mode 100644 index 00000000..3983b476 --- /dev/null +++ b/junit4/src/main/java/module-info.java @@ -0,0 +1,13 @@ +module com.github.tonivade.zeromock.junit4 { + exports com.github.tonivade.zeromock.junit4; + + requires transitive com.github.tonivade.purefun; + requires transitive com.github.tonivade.purefun.core; + requires com.github.tonivade.purefun.effect; + requires com.github.tonivade.purefun.monad; + requires transitive com.github.tonivade.purefun.typeclasses; + requires transitive com.github.tonivade.zeromock.api; + requires transitive com.github.tonivade.zeromock.client; + requires transitive com.github.tonivade.zeromock.server; + requires transitive junit; +} \ No newline at end of file diff --git a/junit5/src/main/java/module-info.java b/junit5/src/main/java/module-info.java new file mode 100644 index 00000000..1a43ee02 --- /dev/null +++ b/junit5/src/main/java/module-info.java @@ -0,0 +1,16 @@ +module com.github.tonivade.zeromock.junit5 { + exports com.github.tonivade.zeromock.junit5; + + requires transitive com.github.tonivade.purefun; + requires transitive com.github.tonivade.purefun.core; + requires com.github.tonivade.purefun.effect; + requires com.github.tonivade.purefun.monad; + requires transitive com.github.tonivade.purefun.typeclasses; + requires transitive com.github.tonivade.zeromock.api; + requires transitive com.github.tonivade.zeromock.client; + requires transitive com.github.tonivade.zeromock.server; + requires transitive jdk.httpserver; + requires transitive org.junit.jupiter.api; + requires transitive org.junit.platform.commons; + requires org.opentest4j; +} \ No newline at end of file diff --git a/server/src/main/java/module-info.java b/server/src/main/java/module-info.java new file mode 100644 index 00000000..ef6053d8 --- /dev/null +++ b/server/src/main/java/module-info.java @@ -0,0 +1,14 @@ +module com.github.tonivade.zeromock.server { + exports com.github.tonivade.zeromock.server; + + requires transitive com.github.tonivade.purefun; + requires transitive com.github.tonivade.purefun.core; + requires static com.github.tonivade.purefun.effect; + requires static com.github.tonivade.purefun.instances; + requires static com.github.tonivade.purefun.monad; + requires transitive com.github.tonivade.purefun.typeclasses; + requires transitive com.github.tonivade.zeromock.api; + requires transitive jakarta.xml.bind; + requires transitive jdk.httpserver; + requires transitive org.slf4j; +} \ No newline at end of file