From d2040fb02aaaba246537fa2fe2686ac79799926f Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Tue, 13 Jun 2023 19:35:14 +0800 Subject: [PATCH] added module-info.class to envelope-loader library --- gradle.properties | 4 ++-- launcher/build.gradle | 7 +++++-- loader/build.gradle | 32 ++++++++++++++++++++++++++++---- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/gradle.properties b/gradle.properties index 31e6661..47ab112 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ woggioniMavenRepositoryUrl=https://woggioni.net/mvn/ publishMavenRepositoryUrl=https://mvn.woggioni.net/ -lys.version = 2023.03 +lys.version = 2023.06.13 -version.envelope=2023.03.04 +version.envelope=2023.06.13 version.gradle=7.6 diff --git a/launcher/build.gradle b/launcher/build.gradle index 0b780ed..1103fae 100644 --- a/launcher/build.gradle +++ b/launcher/build.gradle @@ -7,12 +7,15 @@ ext { setProperty('jpms.module.name', 'net.woggioni.envelope') } + configurations { embedded { visible = false canBeConsumed = false } - compileOnly.extendsFrom(embedded) + compileOnly { + extendsFrom(embedded) + } tar { visible = true canBeConsumed = true @@ -22,7 +25,7 @@ configurations { dependencies { embedded project(path: ":common", configuration: 'archives') - embedded project(path: ":loader", configuration: 'archives') + embedded project(path: ":loader", configuration: 'embed') } java { diff --git a/loader/build.gradle b/loader/build.gradle index 70162f3..96b2a49 100644 --- a/loader/build.gradle +++ b/loader/build.gradle @@ -7,12 +7,15 @@ ext { setProperty('jpms.module.name', 'net.woggioni.envelope.loader') } -compileJava11 { - exclude('module-info.java') +configurations { + embed { + canBeResolved = true + canBeConsumed = true + visible = true + transitive = true + } } - - publishing { publications { maven(MavenPublication) { @@ -24,3 +27,24 @@ publishing { } } + +tasks.register('embedJar', Jar) { jar -> + Provider jarTaskProvider = tasks.named(JavaPlugin.JAR_TASK_NAME) + jar.inputs.files(jarTaskProvider) + archiveClassifier = 'embed' + from(zipTree(jarTaskProvider.map { it.archiveFile} )) { + exclude '**/module-info.class' + } + manifest{ + attributes([ + 'Multi-Release': 'true' + ]) + } +} + + + +artifacts { + embed(embedJar) +} +