Hi,

I review META-INF/MANIFEST.MF entries, and I believe some of them should be
dropped to reduce noise and to make builds reproducible (see
https://reproducible-builds.org/ ).
Even though it might be fine to release JMeter with those entries, I see no
reason to replicate that behavior in Gradle-based build.

I don't see how Ant-Version, Created-By, X-Compile-Source-JDK,
X-Compile-Target-JDK, Extension-Name helps.
If we want to pay special tribute to Built-By, then we could do that
elsewhere.

My main message here is:
1) I won't create Ant-Version, Created-By, X-Compile-Source-JDK,
X-Compile-Target-JDK, Extension-Name manifest entries in Gradle-based build
2) I don't care if Ant-based build is adjusted or not to drop those entries

Other concerns (they can be applied later, after we adopt Gradle):
3) Implementation-Vendor-Id should probably be org.apache.jmeter
4) Specification-Title should probably include artifact name. For instance:
"Apache JMeter core", "Apache JMeter functions". Currently we have Apache
JMeter everywhere which is kind of useless
5) We might want to add Implementation-URL entry
6) We might want to replace "Apache Software Foundation" with "The Apache
Software Foundation" (I'm not a lawyer, but :) )

Any thoughts?

Here's MANIFEST from JMeter 5.0:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.5
Created-By: 1.8.0_162-b12 (Oracle Corporation)
Built-By: [email protected]
Extension-Name:  JMeter
Specification-Title:  Apache JMeter
Specification-Vendor:  Apache Software Foundation
Implementation-Vendor:  Apache Software Foundation
Implementation-Vendor-Id:  org.apache
Implementation-Version: 5.0 r1840935
X-Compile-Source-JDK: 1.8
X-Compile-Target-JDK: 1.8

Extra properties like "Built-By" prevent

I suggest to have the following items:
Manifest-Version: 1.0
Specification-Title:  Apache JMeter
Specification-Vendor:  Apache Software Foundation
Implementation-Vendor:  Apache Software Foundation
Implementation-Vendor-Id:  org.apache
Implementation-Version: 5.0...


Vladimir

Reply via email to