core

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ComposeManifestPath

func ComposeManifestPath(localPath, packageName string) string

func Filter

func Filter(original []contracts.Dependency, filter []string) (filtered []contracts.Dependency)

Types

type ArchiveReader

type ArchiveReader interface {
	Next() (*tar.Header, error)
	io.Reader
}

type CompoundIntegrityCheck

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

func NewCompoundIntegrityCheck

func NewCompoundIntegrityCheck(inners ...contracts.IntegrityCheck) *CompoundIntegrityCheck

func (*CompoundIntegrityCheck) Verify

func (this *CompoundIntegrityCheck) Verify(manifest contracts.Manifest, localPath string) error

type DependencyResolver

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

func NewDependencyResolver

func NewDependencyResolver(
	fileSystem DependencyResolverFileSystem,
	integrityChecker contracts.IntegrityCheck,
	packageInstaller contracts.PackageInstaller,
	dependency contracts.Dependency,
) *DependencyResolver

func (*DependencyResolver) Resolve

func (this *DependencyResolver) Resolve() error

type DependencyResolverFileSystem

type DependencyResolverFileSystem interface {
	contracts.FileChecker
	contracts.FileReader
	contracts.Deleter
}

type DirectoryPackageBuilder added in v0.11.12

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

func (*DirectoryPackageBuilder) Build added in v0.11.12

func (this *DirectoryPackageBuilder) Build() error

func (*DirectoryPackageBuilder) Contents added in v0.11.12

func (this *DirectoryPackageBuilder) Contents() []contracts.ArchiveItem

type DirectoryPackageBuilderFileSystem added in v0.11.12

type DirectoryPackageBuilderFileSystem interface {
	contracts.PathLister
	contracts.FileOpener
	contracts.RootPath
}

type DownloadSetter added in v0.12.0

type DownloadSetter interface {
	SetDownloader(url.URL, contracts.Downloader)
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

type FileContentIntegrityCheck

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

func NewFileContentIntegrityCheck

func NewFileContentIntegrityCheck(hasher func() hash.Hash, fileSystem FileOpenChecker, enabled bool) *FileContentIntegrityCheck

func (*FileContentIntegrityCheck) Verify

func (this *FileContentIntegrityCheck) Verify(manifest contracts.Manifest, localPath string) error

type FileListingIntegrityChecker

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

func NewFileListingIntegrityChecker

func NewFileListingIntegrityChecker(fileSystem contracts.FileChecker) *FileListingIntegrityChecker

func (*FileListingIntegrityChecker) Verify

func (this *FileListingIntegrityChecker) Verify(manifest contracts.Manifest, localPath string) error

type FileOpenChecker

type FileOpenChecker interface {
	contracts.FileOpener
	contracts.FileChecker
}

type HashReader

type HashReader struct {
	io.Reader
	hash.Hash
}

func NewHashReader

func NewHashReader(source io.Reader, target hash.Hash) *HashReader

func (*HashReader) Read

func (this *HashReader) Read(buffer []byte) (int, error)

type HashReaderAt added in v0.12.0

type HashReaderAt struct {
	io.ReaderAt
	hash.Hash
}

func NewHashReaderAt added in v0.12.0

func NewHashReaderAt(source io.ReaderAt, off int64, target hash.Hash) *HashReaderAt

func (*HashReaderAt) ReadAt added in v0.12.0

func (this *HashReaderAt) ReadAt(buffer []byte, off int64) (int, error)

type PackageBuilder

type PackageBuilder interface {
	Build() error
	Contents() []contracts.ArchiveItem
}

func NewDirectoryPackageBuilder added in v0.11.12

func NewDirectoryPackageBuilder(storage DirectoryPackageBuilderFileSystem, archive contracts.ArchiveWriter, hasher hash.Hash, showProgress bool) PackageBuilder

type PackageInstaller

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

func NewPackageInstaller

func NewPackageInstaller(downloader contracts.Downloader, filesystem PackageInstallerFileSystem, showProgress bool) *PackageInstaller

func (*PackageInstaller) DownloadManifest

func (this *PackageInstaller) DownloadManifest(remoteAddress url.URL) (manifest contracts.Manifest, err error)

func (*PackageInstaller) InstallManifest

func (this *PackageInstaller) InstallManifest(request contracts.InstallationRequest) (manifest contracts.Manifest, err error)

func (*PackageInstaller) InstallPackage

func (this *PackageInstaller) InstallPackage(manifest contracts.Manifest, request contracts.InstallationRequest) error

type RetryClient

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

func NewRetryClient

func NewRetryClient(inner contracts.RemoteStorage, maxRetry int, sleep func(duration time.Duration)) *RetryClient

func (*RetryClient) Download

func (this *RetryClient) Download(request url.URL) (body io.ReadCloser, err error)

func (*RetryClient) Seek added in v0.12.0

func (this *RetryClient) Seek(request url.URL, start, end int64) (body io.ReadCloser, err error)

func (*RetryClient) Size added in v0.12.0

func (this *RetryClient) Size(request url.URL) (size int64, err error)

func (*RetryClient) Upload

func (this *RetryClient) Upload(request contracts.UploadRequest) (err error)

type UploadConfigLoader

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

func NewUploadConfigLoader

func NewUploadConfigLoader(storage contracts.FileReader, env contracts.Environment, stdin io.Reader, stderr io.Writer) *UploadConfigLoader

func (*UploadConfigLoader) LoadConfig

func (this *UploadConfigLoader) LoadConfig(name string, args []string) (config contracts.UploadConfig, err error)

Jump to

Keyboard shortcuts

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