[GRADLE-977] Gradle converts existing manifest attribute names to lower case when importing Created: 13/Jun/10  Updated: 04/Jan/13  Resolved: 24/Nov/10

Status: Resolved
Project: Gradle
Affects Version/s: 0.9
Fix Version/s: 0.9-rc-1

Type: Bug
Reporter: Bryan Keller Assignee: Hans Dockter
Resolution: Fixed Votes: 1


I have an existing MANIFEST.MF I would like to include in my jar file, instead of having Gradle generate one for me. I can do this in the jar configuration:

jar {

{ from "mydir/MANIFEST.MF" }


Unfortunately, it seems Gradle imports this and converts all of the attribute names to lower case. While this technically meets the manifest standard, it is recommended to use the case as specified. There are instances where having lower case attribute names cause problems. In particular, some OSGi containers seem to have issues with lower case attribute names for bundle specifications and they do not detect the bundle if the bundle attribute names are lower case.

Comment by Bryan Keller [ 13/Jun/10 ]

It seems like the case sensitivity is not the main issue when running in an OSGi container, rather it is the extra line feed at the end of the manifest that causes problems (see GRADLE-978). I was specifically testing with Apache Felix. I still think retaining the original case of the attribute names is a good idea, however.

Comment by Chris Beams [ 14/Jul/10 ]

Any idea when this fix might make it in? It appears to be generally benign, but it's certainly off-putting on first encounter. I would say that most folks (myself included until now) are unaware that attribute names are case-insensitive in the spec. Basically, when you crack open the manifest, it just looks like something has gone wrong.

Comment by Hans Dockter [ 15/Jul/10 ]

@Bryan Regarding Gradle-978. I checked manifests generated by Maven, Ant 1.7, from the Spring EBR, bnd generated ones. They all have this extra line feed.

Generated at Wed Jun 30 11:43:44 CDT 2021 using Jira 8.4.2#804003-sha1:d21414fc212e3af190e92c2d2ac41299b89402cf.