Skip to content

Commit c24e6c0

Browse files
committed
Inital step to add module-info for jvm artifact
1 parent 12b62c7 commit c24e6c0

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

json-schema-validator/build.gradle.kts

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import io.gitlab.arturbosch.detekt.Detekt
44
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
55
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
6+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
67
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
78
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
9+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
810
import org.jlleitschuh.gradle.ktlint.reporter.ReporterType
911

1012
plugins {
@@ -18,15 +20,25 @@ plugins {
1820
convention.publication
1921
}
2022

23+
java {
24+
toolchain {
25+
languageVersion = JavaLanguageVersion.of(11)
26+
}
27+
}
28+
2129
kotlin {
2230
explicitApi()
2331

2432
@OptIn(ExperimentalKotlinGradlePluginApi::class)
2533
compilerOptions {
2634
freeCompilerArgs.add("-opt-in=io.github.optimumcode.json.schema.ExperimentalApi")
2735
}
28-
jvmToolchain(11)
2936
jvm {
37+
withJava()
38+
compilerOptions {
39+
jvmTarget = JvmTarget.JVM_11
40+
freeCompilerArgs.add("-Xjdk-release=11")
41+
}
3042
testRuns["test"].executionTask.configure {
3143
useJUnitPlatform()
3244
}
@@ -168,4 +180,24 @@ afterEvaluate {
168180
tasks.named("check").configure {
169181
dependsOn(detektAllTask)
170182
}
183+
}
184+
185+
tasks {
186+
named<JavaCompile>("compileJava") {
187+
options.compilerArgumentProviders +=
188+
object : CommandLineArgumentProvider {
189+
@InputFiles
190+
@PathSensitive(PathSensitivity.RELATIVE)
191+
val kotlinClasses =
192+
this@tasks.named<KotlinCompile>(
193+
"compileKotlinJvm",
194+
).flatMap(KotlinCompile::destinationDirectory)
195+
196+
override fun asArguments() =
197+
listOf(
198+
"--patch-module",
199+
"io.github.optimumcode.json.schema=${kotlinClasses.get().asFile.absolutePath}",
200+
)
201+
}
202+
}
171203
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module io.github.optimumcode.json.schema {
2+
requires kotlin.stdlib;
3+
requires transitive kotlinx.serialization.json;
4+
5+
exports io.github.optimumcode.json.schema;
6+
exports io.github.optimumcode.json.schema.model;
7+
exports io.github.optimumcode.json.schema.extension;
8+
exports io.github.optimumcode.json.pointer;
9+
}

0 commit comments

Comments
 (0)