plugins { alias catalog.plugins.multi.release.jar id 'maven-publish' } ext { setProperty('jpms.module.name', 'net.woggioni.envelope.loader') } configurations { embed { canBeResolved = true canBeConsumed = true visible = true transitive = true } } publishing { publications { maven(MavenPublication) { group = "net.woggioni.envelope" artifactId = rootProject.name + '-' + project.name version = rootProject.version from components.java } } } 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) }