Skip to content

Commit 60979e4

Browse files
committed
fix: add module-info.java(multi-release jar)
1 parent 230eb3f commit 60979e4

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

build.gradle.kts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import org.gradle.jvm.tasks.Jar
12
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
23

34
plugins {
@@ -53,6 +54,24 @@ kotlin {
5354
}
5455
}
5556

57+
java {
58+
sourceSets {
59+
val java9 by java.sourceSets.creating
60+
val a by configurations.commonMainApi
61+
configurations.getByName("jvmJava9Api").extendsFrom(a)
62+
}
63+
}
64+
65+
tasks.getByName("jvmJar", Jar::class) {
66+
manifest {
67+
attributes("Multi-Release" to "true")
68+
}
69+
into("META-INF/versions/9") {
70+
val java9 by sourceSets.getting
71+
from(java9.output)
72+
}
73+
}
74+
5675
tasks.withType<Test> {
5776
testLogging {
5877
events("passed", "skipped", "failed")
@@ -65,3 +84,7 @@ tasks.withType<JavaCompile> {
6584
sourceCompatibility = "1.8"
6685
}
6786

87+
tasks.getByName("compileJava9Java", JavaCompile::class) {
88+
targetCompatibility = "1.9"
89+
sourceCompatibility = "1.9"
90+
}

src/jvmJava9/java/module-info.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module space.iseki.bencoding {
2+
requires kotlin.stdlib;
3+
requires kotlinx.serialization.core;
4+
exports space.iseki.bencoding;
5+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package space.iseki.bencoding;
2+
3+
/**
4+
* Placeholder class for JPMS
5+
*/
6+
class PlaceHolder {
7+
}

0 commit comments

Comments
 (0)