list

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package list provides a public list of SCALIBR-internal extraction plugins.

Index

Constants

This section is empty.

Variables

View Source
var (

	// Java extractors.
	Java []extractor.InventoryExtractor = []extractor.InventoryExtractor{javaarchive.New(javaarchive.DefaultConfig())}
	// Javascript extractors.
	Javascript []extractor.InventoryExtractor = []extractor.InventoryExtractor{packagejson.New(packagejson.DefaultConfig()), &packagelockjson.Extractor{}}
	// Python extractors.
	Python []extractor.InventoryExtractor = []extractor.InventoryExtractor{wheelegg.New(wheelegg.DefaultConfig()), &requirements.Extractor{}}
	// Go extractors.
	Go []extractor.InventoryExtractor = []extractor.InventoryExtractor{&gobinary.Extractor{}}
	// Ruby extractors.
	Ruby []extractor.InventoryExtractor = []extractor.InventoryExtractor{&gemspec.Extractor{}}
	// SBOM extractors.
	SBOM []extractor.InventoryExtractor = []extractor.InventoryExtractor{&spdx.Extractor{}}
	// Dotnet (.NET) extractors.
	Dotnet []extractor.InventoryExtractor = []extractor.InventoryExtractor{&packageslockjson.Extractor{}}

	// OS extractors.
	OS []extractor.InventoryExtractor = []extractor.InventoryExtractor{
		dpkg.New(dpkg.DefaultConfig()),
		&apk.Extractor{},
		rpm.New(rpm.DefaultConfig()),
		&cos.Extractor{},
	}

	// Default extractors that are recommended to be enabled.
	Default []extractor.InventoryExtractor = concat(Java, Javascript, Python, Go, OS)
	// All extractors available from SCALIBR. These don't include the untested extractors which can be enabled manually.
	All []extractor.InventoryExtractor = concat(
		Java,
		Javascript,
		Python,
		Go,
		Ruby,
		Dotnet,
		SBOM,
		OS,
	)

	// Untested extractors are OSV extractors without tests.
	// TODO(b/307735923): Add tests for these and move them into All.
	Untested []extractor.InventoryExtractor = []extractor.InventoryExtractor{
		osv.Wrapper{ExtractorName: "cpp/conan", ExtractorVersion: 0, PURLType: purl.TypeConan, Extractor: lockfile.ConanLockExtractor{}},
		osv.Wrapper{ExtractorName: "dart/pubspec", ExtractorVersion: 0, PURLType: purl.TypePub, Extractor: lockfile.PubspecLockExtractor{}},
		osv.Wrapper{ExtractorName: "go/gomod", ExtractorVersion: 0, PURLType: purl.TypeGolang, Extractor: lockfile.GoLockExtractor{}},
		osv.Wrapper{ExtractorName: "java/gradle", ExtractorVersion: 0, PURLType: purl.TypeMaven, Extractor: lockfile.GradleLockExtractor{}},
		osv.Wrapper{ExtractorName: "java/pomxml", ExtractorVersion: 0, PURLType: purl.TypeMaven, Extractor: lockfile.MavenLockExtractor{}},
		osv.Wrapper{ExtractorName: "javascript/pnpm", ExtractorVersion: 0, PURLType: purl.TypeNPM, Extractor: lockfile.PnpmLockExtractor{}},
		osv.Wrapper{ExtractorName: "javascript/yarn", ExtractorVersion: 0, PURLType: purl.TypeNPM, Extractor: lockfile.YarnLockExtractor{}},
		osv.Wrapper{ExtractorName: "php/composer", ExtractorVersion: 0, PURLType: purl.TypeComposer, Extractor: lockfile.ComposerLockExtractor{}},
		osv.Wrapper{ExtractorName: "python/Pipfile", ExtractorVersion: 0, PURLType: purl.TypePyPi, Extractor: lockfile.PipenvLockExtractor{}},
		osv.Wrapper{ExtractorName: "python/poetry", ExtractorVersion: 0, PURLType: purl.TypePyPi, Extractor: lockfile.PoetryLockExtractor{}},
		osv.Wrapper{ExtractorName: "ruby/gemfile", ExtractorVersion: 0, PURLType: purl.TypeGem, Extractor: lockfile.GemfileLockExtractor{}},
		osv.Wrapper{ExtractorName: "rust/cargo", ExtractorVersion: 0, PURLType: purl.TypeCargo, Extractor: lockfile.CargoLockExtractor{}},
	}
)

LINT.IfChange

Functions

func ExtractorFromName

func ExtractorFromName(name string) (extractor.InventoryExtractor, error)

ExtractorFromName returns a single extractor based on its exact name.

func ExtractorsFromNames

func ExtractorsFromNames(names []string) ([]extractor.InventoryExtractor, error)

ExtractorsFromNames returns a deduplicated list of extractors from a list of names.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL