composer

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package composer contains functions for composing components within Jackal packages.

Package composer contains functions for composing components within Jackal packages.

Package composer contains functions for composing components within Jackal packages.

Package composer contains functions for composing components within Jackal packages.

Package composer contains functions for composing components within Jackal packages.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompatibleComponent

func CompatibleComponent(c types.JackalComponent, arch, flavor string) bool

CompatibleComponent determines if this component is compatible with the given create options

Types

type ImportChain

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

ImportChain is a doubly linked list of component import definitions

func NewImportChain

func NewImportChain(head types.JackalComponent, index int, originalPackageName, arch, flavor string) (*ImportChain, error)

NewImportChain creates a new import chain from a component Returning the chain on error so we can have additional information to use during lint

func (*ImportChain) Compose

func (ic *ImportChain) Compose() (composed *types.JackalComponent, err error)

Compose merges the import chain into a single component fixing paths, overriding metadata, etc

func (*ImportChain) ContainsOCIImport

func (ic *ImportChain) ContainsOCIImport() bool

ContainsOCIImport returns true if the import chain contains a remote import

func (*ImportChain) Head

func (ic *ImportChain) Head() *Node

Head returns the first node in the import chain

func (*ImportChain) MergeConstants

func (ic *ImportChain) MergeConstants(existing []types.JackalPackageConstant) (merged []types.JackalPackageConstant)

MergeConstants merges constants from the import chain

func (*ImportChain) MergeVariables

func (ic *ImportChain) MergeVariables(existing []types.JackalPackageVariable) (merged []types.JackalPackageVariable)

MergeVariables merges variables from the import chain

func (*ImportChain) Migrate

func (ic *ImportChain) Migrate(build types.JackalBuildData) (warnings []string)

Migrate performs migrations on the import chain

func (*ImportChain) String

func (ic *ImportChain) String() string

String returns a string representation of the import chain

func (*ImportChain) Tail

func (ic *ImportChain) Tail() *Node

Tail returns the last node in the import chain

type Node

type Node struct {
	types.JackalComponent
	// contains filtered or unexported fields
}

Node is a node in the import chain

func (*Node) ImportLocation

func (n *Node) ImportLocation() string

ImportLocation gets the path from the base `jackal.yaml` to the imported `jackal.yaml`

func (*Node) ImportName

func (n *Node) ImportName() string

ImportName returns the name of the component to import If the component import has a ComponentName defined, that will be used otherwise the name of the component will be used

func (*Node) Index

func (n *Node) Index() int

Index returns the .components index location for this node's source `jackal.yaml`

func (*Node) Next

func (n *Node) Next() *Node

Next returns next node in the chain

func (*Node) OriginalPackageName

func (n *Node) OriginalPackageName() string

OriginalPackageName returns the .metadata.name for this node's source `jackal.yaml`

func (*Node) Prev

func (n *Node) Prev() *Node

Prev returns previous node in the chain

Jump to

Keyboard shortcuts

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