tweak java manifest version processing

This commit is contained in:
Alex Goodman 2020-07-10 07:41:13 -04:00
parent ef8c215772
commit 15ff94b56b
No known key found for this signature in database
GPG Key ID: 86E2870463D5E890
3 changed files with 23 additions and 2 deletions

View File

@ -57,6 +57,12 @@ func parseJavaManifest(reader io.Reader) (*pkg.JavaManifest, error) {
return nil, fmt.Errorf("unable to parse java manifest: %w", err)
}
// clean select fields
if strings.Trim(manifest.ImplVersion, " ") != "" {
// transform versions with dates attached to just versions (e.g. "1.3 2244 October 5 2008" --> "1.3")
manifest.ImplVersion = strings.Split(manifest.ImplVersion, " ")[0]
}
return &manifest, nil
}
@ -87,13 +93,19 @@ func newPackageFromJavaManifest(virtualPath, archivePath string, fileManifest fi
var name string
switch {
case manifest.Name != "":
name = manifest.Name
case filenameObj.name() != "":
name = filenameObj.name()
case manifest.Name != "":
// Manifest original spec...
name = manifest.Name
case manifest.Extra["Bundle-Name"] != "":
// BND tooling...
name = manifest.Extra["Bundle-Name"]
case manifest.Extra["Short-Name"] != "":
// Jenkins...
name = manifest.Extra["Short-Name"]
case manifest.Extra["Extension-Name"] != "":
// Jenkins...
name = manifest.Extra["Extension-Name"]
}

View File

@ -54,6 +54,13 @@ func TestParseJavaManifest(t *testing.T) {
},
},
},
{
fixture: "test-fixtures/manifest/version-with-date",
expected: pkg.JavaManifest{
ManifestVersion: "1.0",
ImplVersion: "1.3", // ensure the date is stripped off during processing
},
},
}
for _, test := range tests {

View File

@ -0,0 +1,2 @@
Manifest-Version: 1.0
Implementation-Version: 1.3 2244 October 5 2005