From d9aa54cd00386a8b448f88ebb59f02f9839598b8 Mon Sep 17 00:00:00 2001 From: Weston Steimel Date: Tue, 4 Jan 2022 21:40:27 +0000 Subject: [PATCH] support .par for java ecosystems (#727) Signed-off-by: Weston Steimel --- syft/pkg/cataloger/java/archive_filename.go | 2 +- syft/pkg/cataloger/java/archive_filename_test.go | 7 +++++++ syft/pkg/cataloger/java/archive_parser.go | 1 + syft/pkg/cataloger/java/cataloger.go | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/syft/pkg/cataloger/java/archive_filename.go b/syft/pkg/cataloger/java/archive_filename.go index d52409dac..f03df298c 100644 --- a/syft/pkg/cataloger/java/archive_filename.go +++ b/syft/pkg/cataloger/java/archive_filename.go @@ -113,7 +113,7 @@ func (a archiveFilename) extension() string { func (a archiveFilename) pkgType() pkg.Type { switch strings.ToLower(a.extension()) { - case "jar", "war", "ear", "lpkg": + case "jar", "war", "ear", "lpkg", "par": return pkg.JavaPkg case "jpi", "hpi": return pkg.JenkinsPluginPkg diff --git a/syft/pkg/cataloger/java/archive_filename_test.go b/syft/pkg/cataloger/java/archive_filename_test.go index dd92b6c64..03426f8ac 100644 --- a/syft/pkg/cataloger/java/archive_filename_test.go +++ b/syft/pkg/cataloger/java/archive_filename_test.go @@ -50,6 +50,13 @@ func TestExtractInfoFromJavaArchiveFilename(t *testing.T) { name: "pkg-extra-field-maven", ty: pkg.JavaPkg, }, + { + filename: "pkg-extra-field-maven-4.3.2-rc1.par", + version: "4.3.2-rc1", + extension: "par", + name: "pkg-extra-field-maven", + ty: pkg.JavaPkg, + }, { filename: "/some/path/pkg-extra-field-maven-4.3.2-rc1.jpi", version: "4.3.2-rc1", diff --git a/syft/pkg/cataloger/java/archive_parser.go b/syft/pkg/cataloger/java/archive_parser.go index 57ae0836a..7cb013a47 100644 --- a/syft/pkg/cataloger/java/archive_parser.go +++ b/syft/pkg/cataloger/java/archive_parser.go @@ -20,6 +20,7 @@ var archiveFormatGlobs = []string{ "**/*.jar", "**/*.war", "**/*.ear", + "**/*.par", "**/*.jpi", "**/*.hpi", "**/*.lpkg", // Zip-compressed package used to deploy applications diff --git a/syft/pkg/cataloger/java/cataloger.go b/syft/pkg/cataloger/java/cataloger.go index 2285c6474..036561bf8 100644 --- a/syft/pkg/cataloger/java/cataloger.go +++ b/syft/pkg/cataloger/java/cataloger.go @@ -1,5 +1,5 @@ /* -Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, jpi, hpi formats). +Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, par, jpi, hpi formats). */ package java