dist

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2022 License: Apache-2.0 Imports: 12 Imported by: 3

Documentation

Overview

Package dist is responsible for cataloging all data types in relation to distributing Cloud Native Buildpack components.

Index

Constants

View Source
const AssumedBuildpackAPIVersion = "0.1"
View Source
const BuildpackLayersLabel = "io.buildpacks.buildpack.layers"
View Source
const BuildpacksDir = "/cnb/buildpacks"

Variables

This section is empty.

Functions

func AddBuildpackToLayersMD

func AddBuildpackToLayersMD(layerMD BuildpackLayers, descriptor BuildpackDescriptor, diffID string)

func GetLabel

func GetLabel(labeled Labeled, label string, obj interface{}) (ok bool, err error)

func LayerDiffID

func LayerDiffID(layerTarPath string) (v1.Hash, error)

func SetLabel

func SetLabel(labelable Labelable, label string, data interface{}) error

Types

type BuildpackDescriptor

type BuildpackDescriptor struct {
	API    *api.Version  `toml:"api"`
	Info   BuildpackInfo `toml:"buildpack"`
	Stacks []Stack       `toml:"stacks"`
	Order  Order         `toml:"order"`
}

func (*BuildpackDescriptor) EnsureStackSupport

func (b *BuildpackDescriptor) EnsureStackSupport(stackID string, providedMixins []string, validateRunStageMixins bool) error

func (*BuildpackDescriptor) EscapedID

func (b *BuildpackDescriptor) EscapedID() string

type BuildpackInfo

type BuildpackInfo struct {
	ID          string    `toml:"id,omitempty" json:"id,omitempty" yaml:"id,omitempty"`
	Name        string    `toml:"name,omitempty" json:"name,omitempty" yaml:"name,omitempty"`
	Version     string    `toml:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"`
	Description string    `toml:"description,omitempty" json:"description,omitempty" yaml:"description,omitempty"`
	Homepage    string    `toml:"homepage,omitempty" json:"homepage,omitempty" yaml:"homepage,omitempty"`
	Keywords    []string  `toml:"keywords,omitempty" json:"keywords,omitempty" yaml:"keywords,omitempty"`
	Licenses    []License `toml:"licenses,omitempty" json:"licenses,omitempty" yaml:"licenses,omitempty"`
}

func (BuildpackInfo) FullName

func (b BuildpackInfo) FullName() string

func (BuildpackInfo) FullNameWithVersion added in v0.27.0

func (b BuildpackInfo) FullNameWithVersion() (string, error)

func (BuildpackInfo) Match

func (b BuildpackInfo) Match(o BuildpackInfo) bool

Match compares two buildpacks by ID and Version

func (BuildpackInfo) String

func (b BuildpackInfo) String() string

Satisfy stringer

type BuildpackLayerInfo

type BuildpackLayerInfo struct {
	API         *api.Version `json:"api"`
	Stacks      []Stack      `json:"stacks,omitempty"`
	Order       Order        `json:"order,omitempty"`
	LayerDiffID string       `json:"layerDiffID"`
	Homepage    string       `json:"homepage,omitempty"`
	Name        string       `json:"name,omitempty"`
}

type BuildpackLayers

type BuildpackLayers map[string]map[string]BuildpackLayerInfo

func (BuildpackLayers) Get

func (b BuildpackLayers) Get(id, version string) (BuildpackLayerInfo, bool)

type BuildpackRef

type BuildpackRef struct {
	BuildpackInfo `yaml:"buildpackinfo,inline"`
	Optional      bool `toml:"optional,omitempty" json:"optional,omitempty" yaml:"optional,omitempty"`
}

type BuildpackURI

type BuildpackURI struct {
	URI string `toml:"uri"`
}

type ImageOrURI

type ImageOrURI struct {
	BuildpackURI
	ImageRef
}

func (*ImageOrURI) DisplayString

func (c *ImageOrURI) DisplayString() string

type ImageRef

type ImageRef struct {
	ImageName string `toml:"image"`
}

type Labelable

type Labelable interface {
	SetLabel(name string, value string) error
}

type Labeled

type Labeled interface {
	Label(name string) (value string, err error)
}

type License

type License struct {
	Type string `toml:"type"`
	URI  string `toml:"uri"`
}

type Order

type Order []OrderEntry

type OrderEntry

type OrderEntry struct {
	Group []BuildpackRef `toml:"group" json:"group"`
}

type Platform

type Platform struct {
	OS string `toml:"os"`
}

type Stack

type Stack struct {
	ID     string   `json:"id" toml:"id"`
	Mixins []string `json:"mixins,omitempty" toml:"mixins,omitempty"`
}

Jump to

Keyboard shortcuts

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