Skip to content

Commit 18a2c42

Browse files
committed
Add module-info.java
1 parent c90794f commit 18a2c42

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

okio/build.gradle.kts

+15-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import kotlinx.validation.ApiValidationExtension
66
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithTests
77
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
88
import org.jetbrains.kotlin.gradle.plugin.mpp.TestExecutable
9+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
910

1011
plugins {
1112
kotlin("multiplatform")
@@ -189,14 +190,27 @@ kotlin {
189190
}
190191

191192
tasks {
193+
val compileModuleInfo by registering(JavaCompile::class) {
194+
classpath = objects.fileCollection()
195+
.from(configurations.named("jvmCompileClasspath"))
196+
val compileKotlinJvm = named<KotlinCompile>("compileKotlinJvm")
197+
dependsOn(compileKotlinJvm)
198+
options.compilerArgumentProviders.plusAssign(CommandLineArgumentProvider {
199+
listOf("--patch-module", "okio=${compileKotlinJvm.get().destinationDirectory.get().asFile.absolutePath}")
200+
})
201+
destinationDirectory = layout.buildDirectory.dir("classes/java/moduleInfo")
202+
options.release = 11
203+
source(layout.projectDirectory.dir("src/jvmMain/java"))
204+
}
205+
192206
val jvmJar by getting(Jar::class) {
193207
// BundleTaskConvention() crashes unless there's a 'main' source set.
194208
sourceSets.create(SourceSet.MAIN_SOURCE_SET_NAME)
209+
from(compileModuleInfo)
195210
val bndConvention = BundleTaskConvention(this)
196211
bndConvention.setBnd(
197212
"""
198213
Export-Package: okio
199-
Automatic-Module-Name: okio
200214
Bundle-SymbolicName: com.squareup.okio
201215
""",
202216
)
+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module okio {
2+
requires java.logging;
3+
requires kotlin.stdlib;
4+
5+
exports okio;
6+
}

0 commit comments

Comments
 (0)