Unexport types and functions cataloger packages (#2530)

* unexport as many types and functions from cataloger packages as possible

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* capture type and signature information in convention test

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* check that we return pkg.Cataloger from constructors

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

---------

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
This commit is contained in:
Alex Goodman
2024-01-24 16:12:46 -05:00
committed by GitHub
parent e0e1c4ba0a
commit 11c0b1c234
12 changed files with 386 additions and 40 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ import (
)
// NewArchiveCataloger returns a new Java archive cataloger object for detecting packages with archives (jar, war, ear, par, sar, jpi, hpi, and native-image formats)
func NewArchiveCataloger(cfg ArchiveCatalogerConfig) *generic.Cataloger {
func NewArchiveCataloger(cfg ArchiveCatalogerConfig) pkg.Cataloger {
gap := newGenericArchiveParserAdapter(cfg)
c := generic.NewCataloger("java-archive-cataloger").
@@ -92,7 +92,7 @@ type nativeImagePE struct {
header exportPrefixPE
}
type NativeImageCataloger struct{}
type nativeImageCataloger struct{}
const nativeImageCatalogerName = "graalvm-native-image-cataloger"
const nativeImageSbomSymbol = "sbom"
@@ -104,11 +104,11 @@ const nativeImageMissingExportedDataDirectoryError = "exported data directory is
// NewNativeImageCataloger returns a new Native Image cataloger object.
func NewNativeImageCataloger() pkg.Cataloger {
return &NativeImageCataloger{}
return &nativeImageCataloger{}
}
// Name returns a string that uniquely describes a native image cataloger
func (c *NativeImageCataloger) Name() string {
func (c *nativeImageCataloger) Name() string {
return nativeImageCatalogerName
}
@@ -571,7 +571,7 @@ func fetchPkgs(reader unionreader.UnionReader, filename string) []pkg.Package {
}
// Catalog attempts to find any native image executables reachable from a resolver.
func (c *NativeImageCataloger) Catalog(_ context.Context, resolver file.Resolver) ([]pkg.Package, []artifact.Relationship, error) {
func (c *nativeImageCataloger) Catalog(_ context.Context, resolver file.Resolver) ([]pkg.Package, []artifact.Relationship, error) {
var pkgs []pkg.Package
fileMatches, err := resolver.FilesByMIMEType(internal.ExecutableMIMETypeSet.List()...)
if err != nil {
@@ -13,8 +13,8 @@ import (
const gradleLockfileGlob = "**/gradle.lockfile*"
// LockfileDependency represents a single dependency in the gradle.lockfile file
type LockfileDependency struct {
// lockfileDependency represents a single dependency in the gradle.lockfile file
type lockfileDependency struct {
Group string
Name string
Version string
@@ -27,7 +27,7 @@ func parseGradleLockfile(_ context.Context, _ file.Resolver, _ *generic.Environm
scanner := bufio.NewScanner(reader)
// Create slices to hold the dependencies and plugins
dependencies := []LockfileDependency{}
dependencies := []lockfileDependency{}
// Loop over all lines in the file
for scanner.Scan() {
@@ -43,7 +43,7 @@ func parseGradleLockfile(_ context.Context, _ file.Resolver, _ *generic.Environm
// we have a version directly specified
if len(parts) == 3 {
// Create a new Dependency struct and add it to the dependencies slice
dep := LockfileDependency{Group: parts[0], Name: parts[1], Version: parts[2]}
dep := lockfileDependency{Group: parts[0], Name: parts[1], Version: parts[2]}
dependencies = append(dependencies, dep)
}
}