mirror of
https://github.com/anchore/syft.git
synced 2025-11-18 08:53:15 +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)
|
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
|
return &manifest, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,13 +93,19 @@ func newPackageFromJavaManifest(virtualPath, archivePath string, fileManifest fi
|
|||||||
|
|
||||||
var name string
|
var name string
|
||||||
switch {
|
switch {
|
||||||
case manifest.Name != "":
|
|
||||||
name = manifest.Name
|
|
||||||
case filenameObj.name() != "":
|
case filenameObj.name() != "":
|
||||||
name = 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"] != "":
|
case manifest.Extra["Short-Name"] != "":
|
||||||
|
// Jenkins...
|
||||||
name = manifest.Extra["Short-Name"]
|
name = manifest.Extra["Short-Name"]
|
||||||
case manifest.Extra["Extension-Name"] != "":
|
case manifest.Extra["Extension-Name"] != "":
|
||||||
|
// Jenkins...
|
||||||
name = manifest.Extra["Extension-Name"]
|
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 {
|
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