It looks like there is an old closed issue that proposed something similar but with a much larger scope: https://github.com/spring-projects/spring-framework/issues/17888
I was hoping to put out a PR to add a hardcoded Implementation-Vendor-Id
to the currently generated MANIFEST.MF file. I'd be happy to open the PR just wanted to make sure there weren't any issues I was not considering.
Impacted code section can be found here: https://github.com/spring-projects/spring-framework/blob/main/gradle/spring-module.gradle#L40-L53
Existing code
manifest.attributes["Implementation-Title"] = project.name
manifest.attributes["Implementation-Version"] = project.version
manifest.attributes["Automatic-Module-Name"] = project.name.replace('-', '.') // for Jigsaw
manifest.attributes["Created-By"] =
"${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})"
Suggested Code
manifest.attributes["Implementation-Title"] = project.name
manifest.attributes["Implementation-Version"] = project.version
manifest.attributes["Implementation-Vendor-Id"] = "org.springframework"
manifest.attributes["Automatic-Module-Name"] = project.name.replace('-', '.') // for Jigsaw
manifest.attributes["Created-By"] =
"${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})"
The goal of this change is to provide an easier route for identifying the namespace of the dependency since they are not packaged with a pom.properties
file.
Comment From: sbrannen
As pointed out elsewhere by @wilkinsona:
Implementation-Vendor-Id
was deprecated in Java 8: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Main_Attributes- It isn't mentioned at all in the Java 11 docs: https://docs.oracle.com/en/java/javase/11/docs/specs/jar/jar.html#manifest-specification
In light of that, I am closing this issue.
Comment From: kwilsonO
Thank you for the information!