diff --git a/build.gradle.kts b/build.gradle.kts index 353827937..90cd30be2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -101,6 +101,7 @@ allprojects { if (isKotlinJvmProject) { configureFlattenSourceSets() } + configureJarManifest() } } diff --git a/buildSrc/src/main/kotlin/ProjectConfigure.kt b/buildSrc/src/main/kotlin/ProjectConfigure.kt index 37ed639c0..5c10712f8 100644 --- a/buildSrc/src/main/kotlin/ProjectConfigure.kt +++ b/buildSrc/src/main/kotlin/ProjectConfigure.kt @@ -14,6 +14,7 @@ import org.gradle.api.Project import org.gradle.api.plugins.JavaPluginExtension import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.testing.Test +import org.gradle.api.tasks.bundling.Jar import org.gradle.kotlin.dsl.* import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType @@ -182,6 +183,18 @@ fun Project.configureFlattenSourceSets() { } } +fun Project.configureJarManifest() { + this.tasks.withType { + manifest { + attributes( + "Implementation-Vendor" to "Mamoe Technologies", + "Implementation-Title" to this@configureJarManifest.name.toString(), + "Implementation-Version" to this@configureJarManifest.version.toString() + ) + } + } +} + inline fun Any?.safeAs(): T? { return this as? T }