diff --git a/build.gradle.kts b/build.gradle.kts index e9bded2..c86778b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ import java.time.Year plugins { - java + `java-library` alias(libs.plugins.indraLicenserSpotless) alias(libs.plugins.mavenPublish) } @@ -9,7 +9,7 @@ plugins { val javaVersion = 25 group = "net.hypejet" -version = releaseTag() ?: "1.0.4-SNAPSHOT" +version = releaseTag() ?: "1.0.5-SNAPSHOT" description = "A Java library making modular programming easier" repositories { @@ -17,18 +17,13 @@ repositories { } dependencies { - compileOnly(libs.jspecify) - compileOnly(libs.jetbrainsAnnotations) - compileOnly(libs.slf4j) + api(libs.slf4j) + compileOnlyApi(libs.jspecify) + compileOnlyApi(libs.jetbrainsAnnotations) testImplementation(libs.junitJupiter) testRuntimeOnly(libs.junitPlatformLauncher) } -configurations { - // Required as we do not use any SLF4J implementation for tests but the logger api is required at runtime - testRuntimeOnly.get().extendsFrom(compileOnly) -} - java { toolchain.languageVersion.set(JavaLanguageVersion.of(javaVersion)) withJavadocJar() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 13e36b5..1248216 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ [versions] -jspecify = "1.0.0" +jspecify = "1.0.1" jetbrainsAnnotations = "26.1.0" -slf4j = "2.0.1" -junit = "6.1.1" -indra = "4.0.0" +slf4j = "2.0.18" +junit = "6.1.3" +indra = "4.1.0" mavenPublish = "0.37.0" [libraries] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a351597..c42672d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..54953c7 --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,12 @@ +/** + * A Java library making modular programming easier. + */ +module net.hypejet.modules { + requires transitive org.slf4j; + requires static transitive org.jetbrains.annotations; + requires static transitive org.jspecify; + + exports net.hypejet.modules; + exports net.hypejet.modules.annotation; + exports net.hypejet.modules.exception; +} \ No newline at end of file