pkg

package
v0.1.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2020 License: Apache-2.0 Imports: 5 Imported by: 282

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllLanguages = []Language{
	Java,
	JavaScript,
	Python,
	Ruby,
	Go,
}

Functions

This section is empty.

Types

type ApkMetadata

type ApkMetadata struct {
	Package          string `mapstructure:"P"`
	OriginPackage    string `mapstructure:"o"`
	Maintainer       string `mapstructure:"m"`
	Version          string `mapstructure:"V"`
	License          string `mapstructure:"L"`
	Architecture     string `mapstructure:"A"`
	URL              string `mapstructure:"U"`
	Description      string `mapstructure:"T"`
	Size             int    `mapstructure:"S"`
	InstalledSize    int    `mapstructure:"I"`
	PullDependencies string `mapstructure:"D"`
	PullChecksum     string `mapstructure:"C"`
	GitCommitOfAport string `mapstructure:"c"`
	Files            []string
}

source: https://wiki.alpinelinux.org/wiki/Apk_spec

type Catalog

type Catalog struct {
	// contains filtered or unexported fields
}

func NewCatalog

func NewCatalog() *Catalog

func (*Catalog) Add

func (c *Catalog) Add(p Package)

func (*Catalog) Enumerate

func (c *Catalog) Enumerate(types ...Type) <-chan *Package

func (*Catalog) Package

func (c *Catalog) Package(id ID) *Package

func (*Catalog) PackageCount

func (c *Catalog) PackageCount() int

func (*Catalog) PackagesByFile

func (c *Catalog) PackagesByFile(ref file.Reference) []*Package

func (*Catalog) Sorted

func (c *Catalog) Sorted(types ...Type) []*Package

type DpkgMetadata

type DpkgMetadata struct {
	Package string `mapstructure:"Package"`
	Source  string `mapstructure:"Source"`
	Version string `mapstructure:"Version"`
}

TODO: consider keeping the remaining values as an embedded map Available fields are described at http://manpages.ubuntu.com/manpages/xenial/man1/dpkg-query.1.html in the --showformat section

type ID

type ID int64

type JavaManifest

type JavaManifest struct {
	Name            string            `mapstructure:"Name"`
	ManifestVersion string            `mapstructure:"Manifest-Version"`
	SpecTitle       string            `mapstructure:"Specification-Title"`
	SpecVersion     string            `mapstructure:"Specification-Version"`
	SpecVendor      string            `mapstructure:"Specification-Vendor"`
	ImplTitle       string            `mapstructure:"Implementation-Title"`
	ImplVersion     string            `mapstructure:"Implementation-Version"`
	ImplVendor      string            `mapstructure:"Implementation-Vendor"`
	Extra           map[string]string `mapstructure:",remain"`
}

type JavaMetadata

type JavaMetadata struct {
	Manifest      *JavaManifest  `mapstructure:"Manifest"`
	PomProperties *PomProperties `mapstructure:"PomProperties"`
	Parent        *Package
}

type Language

type Language uint
const (
	UnknownLanguage Language = iota
	Java
	JavaScript
	Python
	Ruby
	Go
)

func (Language) String

func (t Language) String() string

type Package

type Package struct {
	Name     string
	Version  string
	FoundBy  string
	Source   []file.Reference
	Licenses []string
	Language Language // TODO: should this support multiple languages as a slice?
	Type     Type
	Metadata interface{}
	// contains filtered or unexported fields
}

Package represents an application or library that has been bundled into a distributable format

func (Package) ID

func (p Package) ID() ID

func (Package) String

func (p Package) String() string

type PomProperties

type PomProperties struct {
	Path       string
	Name       string            `mapstructure:"name"`
	GroupID    string            `mapstructure:"groupId"`
	ArtifactID string            `mapstructure:"artifactId"`
	Version    string            `mapstructure:"version"`
	Extra      map[string]string `mapstructure:",remain"`
}

type RpmMetadata

type RpmMetadata struct {
	Epoch   int    `mapstructure:"Epoch"`
	Arch    string `mapstructure:"Arch"`
	Release string `mapstructure:"Release"`
}

type Type

type Type uint
const (
	UnknownPkg Type = iota
	ApkPkg
	BundlerPkg
	DebPkg
	EggPkg
	//PacmanPkg
	RpmPkg
	WheelPkg
	NpmPkg
	PythonRequirementsPkg
	JavaPkg
	JenkinsPluginPkg
	GoModulePkg
)

func (Type) String

func (t Type) String() string

Jump to

Keyboard shortcuts

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