On Sun, 3 Mar 2019 at 10:09, Vladimir Sitnikov
<[email protected]> wrote:
>
> 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/ ).

Surely one can allow for differences in the values of these entries?

> 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.

IIRC, most of the above entries were added to help debug
compiler-specific issues - not all compilers are equal.

> If we want to pay special tribute to Built-By, then we could do that
> elsewhere.

This was added to make it easier to track back to the builder in case
there are issues with the build.

> 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

I think they should be kept.

> 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

I don't think the vendor is the JMeter PMC, it is the ASF.
This needs to be checked with the official manifest docs.

> 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

I don't think that is the purpose of the entry.
The specification is surely JMeter; there aren't separate specs for each jar.
This needs to be checked with the official manifest docs.

> 5) We might want to add Implementation-URL entry

What does that indicate?
How will it help?

> 6) We might want to replace "Apache Software Foundation" with "The Apache
> Software Foundation" (I'm not a lawyer, but :) )

Probably OK, but it's not clear whether 'The' is part of the formal name or not.
Ask on legal-discuss.

> 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