cli

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2024 License: Apache-2.0 Imports: 56 Imported by: 1

Documentation

Index

Constants

View Source
const BuiltinPipelineDir = "/usr/share/melange/pipelines"

Variables

This section is empty.

Functions

func ApkBuild added in v0.3.0

func ApkBuild() *cobra.Command

func BuildCmd

func BuildCmd(ctx context.Context, archs []apko_types.Architecture, baseOpts ...build.Option) error

func CompileCmd added in v0.9.0

func CompileCmd(ctx context.Context, opts ...build.Option) error

func Diff added in v0.7.0

func Diff(oldName string, old []byte, newName string, new []byte, comments bool) []byte

Diff returns an anchored diff of the two texts old and new in the “unified diff” format. If old and new are identical, Diff returns a nil slice (no output).

Unix diff implementations typically look for a diff with the smallest number of lines inserted and removed, which can in the worst case take time quadratic in the number of lines in the texts. As a result, many implementations either can be made to run for a long time or cut off the search after a predetermined amount of work.

In contrast, this implementation looks for a diff with the smallest number of “unique” lines inserted and removed, where unique means a line that appears just once in both old and new. We call this an “anchored diff” because the unique lines anchor the chosen matching regions. An anchored diff is usually clearer than a standard diff, because the algorithm does not try to reuse unrelated blank lines or closing braces. The algorithm also guarantees to run in O(n log n) time instead of the standard O(n²) time.

Some systems call this approach a “patience diff,” named for the “patience sorting” algorithm, itself named for a solitaire card game. We avoid that name for two reasons. First, the name has been used for a few different variants of the algorithm, so it is imprecise. Second, the name is frequently interpreted as meaning that you have to wait longer (to be patient) for the diff, meaning that it is a slower algorithm, when in fact the algorithm is faster than the standard one.

func GemBuild added in v0.3.0

func GemBuild() *cobra.Command

GemBuild is the top-level `convert gem` cobra command

TODO: add a --version flag to switch the version of the gem

func IndexCmd added in v0.2.0

func IndexCmd(ctx context.Context, opts ...index.Option) error

IndexCmd is the backend implementation of the "melange index" command.

func KeygenCmd

func KeygenCmd(ctx context.Context, keyName string, bitSize int) error

func New

func New() *cobra.Command

func PythonBuild added in v0.3.0

func PythonBuild() *cobra.Command

PythonBuild is the top-level `convert python` cobra command

func QueryCmd added in v0.3.0

func QueryCmd(ctx context.Context, configFile, pattern string) error

func TestCmd added in v0.5.4

func TestCmd(ctx context.Context, archs []apko_types.Architecture, baseOpts ...build.TestOption) error

Types

type KeygenContext

type KeygenContext struct {
	KeyName string
	BitSize int
}

func (*KeygenContext) GenerateKeypair

func (kc *KeygenContext) GenerateKeypair() (*rsa.PrivateKey, *rsa.PublicKey, error)

Jump to

Keyboard shortcuts

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