mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 16:33:21 +01:00
tweak java manifest version processing
This commit is contained in:
parent
ef8c215772
commit
15ff94b56b
@ -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"]
|
||||
}
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
Manifest-Version: 1.0
|
||||
Implementation-Version: 1.3 2244 October 5 2005
|
||||
Loading…
x
Reference in New Issue
Block a user