analyzer

package
v0.0.0-...-0e953d0 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrUnknownOS occurs when unknown OS is analyzed.
	ErrUnknownOS = xerrors.New("Unknown OS")
	// ErrPkgAnalysis occurs when the analysis of packages is failed.
	ErrPkgAnalysis = xerrors.New("Failed to analyze packages")
	// ErrNoPkgsDetected occurs when the required files for an OS package manager are not detected
	ErrNoPkgsDetected = xerrors.New("No packages detected")
)

Functions

func AddRequiredFilenames

func AddRequiredFilenames(filenames []string)

func Analyze

func Analyze(ctx context.Context, imageName string, opts ...types.DockerOption) (fileMap extractor.FileMap, err error)

func AnalyzeFromFile

func AnalyzeFromFile(ctx context.Context, r io.ReadCloser) (fileMap extractor.FileMap, err error)

func CheckPackage

func CheckPackage(pkg *Package) bool

func GetLibraries

func GetLibraries(filesMap extractor.FileMap) (map[FilePath][]godeptypes.Library, error)

func RegisterCommandAnalyzer

func RegisterCommandAnalyzer(analyzer CommandAnalyzer)

func RegisterLibraryAnalyzer

func RegisterLibraryAnalyzer(analyzer LibraryAnalyzer)

func RegisterOSAnalyzer

func RegisterOSAnalyzer(analyzer OSAnalyzer)

func RegisterPkgAnalyzer

func RegisterPkgAnalyzer(analyzer PkgAnalyzer)

func RequiredFilenames

func RequiredFilenames() []string

Types

type CommandAnalyzer

type CommandAnalyzer interface {
	Analyze(OS, extractor.FileMap) ([]Package, error)
	RequiredFiles() []string
}

type FilePath

type FilePath string

type LibraryAnalyzer

type LibraryAnalyzer interface {
	Analyze(extractor.FileMap) (map[FilePath][]godeptypes.Library, error)
	RequiredFiles() []string
}

type OS

type OS struct {
	Name   string
	Family string
}

func GetOS

func GetOS(filesMap extractor.FileMap) (OS, error)

type OSAnalyzer

type OSAnalyzer interface {
	Analyze(extractor.FileMap) (OS, error)
	RequiredFiles() []string
}

type Package

type Package struct {
	Name       string
	Version    string
	Release    string
	Epoch      int
	Arch       string
	SrcName    string
	SrcVersion string
	SrcRelease string
	SrcEpoch   int
}

func GetPackages

func GetPackages(filesMap extractor.FileMap) ([]Package, error)

func GetPackagesFromCommands

func GetPackagesFromCommands(targetOS OS, filesMap extractor.FileMap) ([]Package, error)

type PkgAnalyzer

type PkgAnalyzer interface {
	Analyze(extractor.FileMap) ([]Package, error)
	RequiredFiles() []string
}

type SrcPackage

type SrcPackage struct {
	Name        string   `json:"name"`
	Version     string   `json:"version"`
	BinaryNames []string `json:"binaryNames"`
}

Directories

Path Synopsis
command
apk
library
npm
os
pkg
apk
rpm

Jump to

Keyboard shortcuts

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