utils

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2019 License: Apache-2.0 Imports: 22 Imported by: 88

Documentation

Index

Constants

View Source
const ARTIFACTORY_SYMLINK = "symlink.dest"
View Source
const SYMLINK_SHA1 = "symlink.destsha1"

Variables

This section is empty.

Functions

func AddAuthHeaders

func AddAuthHeaders(headers map[string]string, artifactoryDetails auth.ArtifactoryDetails)

func AddChecksumHeaders

func AddChecksumHeaders(headers map[string]string, fileDetails *fileutils.FileDetails)

func AddHeader

func AddHeader(headerName, headerValue string, headers *map[string]string)

func BuildArtifactoryUrl

func BuildArtifactoryUrl(baseUrl, path string, params map[string]string) (string, error)

func CreateAqlQueryForNpm

func CreateAqlQueryForNpm(npmName, npmVersion string) string

func ExecAql

func ExecAql(aqlQuery string, flags CommonConf) ([]byte, error)

func IsSubPath

func IsSubPath(paths []string, index int, separator string) bool

@paths - sorted array @index - index of the current path which we want to check if it a prefix of any of the other previous paths @separator - file separator returns true paths[index] is a prefix of any of the paths[i] where i<index , otherwise returns false

func IsWildcardPattern

func IsWildcardPattern(pattern string) bool

func LogSearchResults

func LogSearchResults(numOfArtifacts int)

func SetContentType

func SetContentType(contentType string, headers *map[string]string)

func UploadFile

func UploadFile(localPath, url, logMsgPrefix string, artifactoryDetails *auth.ArtifactoryDetails, details *fileutils.FileDetails,
	httpClientsDetails httputils.HttpClientDetails, client *rthttpclient.ArtifactoryHttpClient, retries int) (*http.Response, []byte, error)

func WildcardToDirsPath

func WildcardToDirsPath(deletePattern, searchResult string) (string, error)

Types

type Aql

type Aql struct {
	ItemsFind string `json:"items.find"`
}

func (*Aql) UnmarshalJSON

func (aql *Aql) UnmarshalJSON(value []byte) error

type AqlSearchResult

type AqlSearchResult struct {
	Results []ResultItem
}

type AqlSearchResultItemFilter

type AqlSearchResultItemFilter func(map[string]ResultItem, []string) []ResultItem

type ArtifactoryCommonParams

type ArtifactoryCommonParams struct {
	Aql             Aql
	Pattern         string
	ExcludePatterns []string
	Target          string
	Props           string
	SortOrder       string
	SortBy          []string
	Offset          int
	Limit           int
	Build           string
	Recursive       bool
	IncludeDirs     bool
	Regexp          bool
	ArchiveEntries  string
}

func (*ArtifactoryCommonParams) GetAql

func (params *ArtifactoryCommonParams) GetAql() Aql

func (ArtifactoryCommonParams) GetArchiveEntries

func (params ArtifactoryCommonParams) GetArchiveEntries() string

func (*ArtifactoryCommonParams) GetBuild

func (params *ArtifactoryCommonParams) GetBuild() string

func (*ArtifactoryCommonParams) GetExcludePatterns

func (params *ArtifactoryCommonParams) GetExcludePatterns() []string

func (*ArtifactoryCommonParams) GetLimit

func (params *ArtifactoryCommonParams) GetLimit() int

func (*ArtifactoryCommonParams) GetOffset

func (params *ArtifactoryCommonParams) GetOffset() int

func (*ArtifactoryCommonParams) GetPattern

func (params *ArtifactoryCommonParams) GetPattern() string

func (*ArtifactoryCommonParams) GetProps

func (params *ArtifactoryCommonParams) GetProps() string

func (*ArtifactoryCommonParams) GetSortBy

func (params *ArtifactoryCommonParams) GetSortBy() []string

func (*ArtifactoryCommonParams) GetSortOrder

func (params *ArtifactoryCommonParams) GetSortOrder() string

func (ArtifactoryCommonParams) GetSpecType

func (params ArtifactoryCommonParams) GetSpecType() (specType SpecType)

func (*ArtifactoryCommonParams) GetTarget

func (params *ArtifactoryCommonParams) GetTarget() string

func (*ArtifactoryCommonParams) IsExplode

func (params *ArtifactoryCommonParams) IsExplode() bool

func (ArtifactoryCommonParams) IsIncludeDirs

func (params ArtifactoryCommonParams) IsIncludeDirs() bool

func (*ArtifactoryCommonParams) IsRecursive

func (params *ArtifactoryCommonParams) IsRecursive() bool

func (*ArtifactoryCommonParams) IsRegexp

func (params *ArtifactoryCommonParams) IsRegexp() bool

func (*ArtifactoryCommonParams) SetArchiveEntries

func (params *ArtifactoryCommonParams) SetArchiveEntries(archiveEntries string)

func (*ArtifactoryCommonParams) SetPattern

func (params *ArtifactoryCommonParams) SetPattern(pattern string)

func (*ArtifactoryCommonParams) SetProps

func (params *ArtifactoryCommonParams) SetProps(props string)

func (*ArtifactoryCommonParams) SetTarget

func (params *ArtifactoryCommonParams) SetTarget(target string)

type CommonConf

type CommonConf interface {
	GetArtifactoryDetails() auth.ArtifactoryDetails
	SetArtifactoryDetails(rt auth.ArtifactoryDetails)
	GetJfrogHttpClient() (*rthttpclient.ArtifactoryHttpClient, error)
	IsDryRun() bool
}

type CommonConfImpl

type CommonConfImpl struct {
	DryRun bool
	// contains filtered or unexported fields
}

func (*CommonConfImpl) GetArtifactoryDetails

func (flags *CommonConfImpl) GetArtifactoryDetails() auth.ArtifactoryDetails

func (*CommonConfImpl) GetJfrogHttpClient

func (flags *CommonConfImpl) GetJfrogHttpClient() (*rthttpclient.ArtifactoryHttpClient, error)

func (*CommonConfImpl) IsDryRun

func (flags *CommonConfImpl) IsDryRun() bool

func (*CommonConfImpl) SetArtifactoryDetails

func (flags *CommonConfImpl) SetArtifactoryDetails(rt auth.ArtifactoryDetails)

type ErrorsQueue

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

func NewErrorsQueue

func NewErrorsQueue(size int) *ErrorsQueue

func (*ErrorsQueue) AddError

func (errQueue *ErrorsQueue) AddError(err error)

func (*ErrorsQueue) GetError

func (errQueue *ErrorsQueue) GetError() error

type FileGetter

type FileGetter interface {
	GetAql() Aql
	GetPattern() string
	SetPattern(pattern string)
	GetExcludePatterns() []string
	GetTarget() string
	SetTarget(target string)
	IsExplode() bool
	GetProps() string
	GetSortOrder() string
	GetSortBy() []string
	GetOffset() int
	GetLimit() int
	GetBuild() string
	GetSpecType() (specType SpecType)
	IsRegexp() bool
	IsRecursive() bool
	IsIncludeDirs() bool
	GetArchiveEntries() string
	SetArchiveEntries(archiveEntries string)
}

type FileHashes

type FileHashes struct {
	Sha256 string `json:"sha256,omitempty"`
	Sha1   string `json:"sha1,omitempty"`
	Md5    string `json:"md5,omitempty"`
}

type FileInfo

type FileInfo struct {
	*FileHashes
	LocalPath       string `json:"localPath,omitempty"`
	ArtifactoryPath string `json:"artifactoryPath,omitempty"`
}

func FlattenFileInfoArray added in v0.1.1

func FlattenFileInfoArray(dependenciesBuildInfo [][]FileInfo) []FileInfo

func (*FileInfo) ToBuildArtifacts

func (fileInfo *FileInfo) ToBuildArtifacts() buildinfo.Artifact

type PathFilePair

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

type Properties

type Properties struct {
	Properties []Property
}

func ParseProperties

func ParseProperties(propStr string, option PropertyParseOptions) (*Properties, error)

Parsing properties string to Properties struct.

func (*Properties) ToEncodedString

func (props *Properties) ToEncodedString() string

func (*Properties) ToHeadersMap

func (props *Properties) ToHeadersMap() map[string]string

type Property

type Property struct {
	Key   string
	Value string
}

type PropertyParseOptions

type PropertyParseOptions int
const (
	// Parsing properties
	SplitCommas PropertyParseOptions = iota
	JoinCommas
)

type RequiredArtifactProps

type RequiredArtifactProps int
const (
	ALL RequiredArtifactProps = iota
	SYMLINK
	NONE
)

This enum defines which properties are required in the result of the aql. For example, when performing a copy/move command - the props are not needed, so we set RequiredArtifactProps to NONE.

type ResultItem

type ResultItem struct {
	Repo        string
	Path        string
	Name        string
	Actual_Md5  string
	Actual_Sha1 string
	Size        int64
	Properties  []Property
	Type        string
}

func FilterBottomChainResults

func FilterBottomChainResults(paths map[string]ResultItem, pathsKeys []string) []ResultItem

func FilterTopChainResults

func FilterTopChainResults(paths map[string]ResultItem, pathsKeys []string) []ResultItem

func ReduceDirResult

func ReduceDirResult(searchResults []ResultItem, resultsFilter AqlSearchResultItemFilter) []ResultItem

Reduce Dir results by using the resultsFilter

func SearchBySpecWithAql added in v0.2.0

func SearchBySpecWithAql(specFile *ArtifactoryCommonParams, flags CommonConf, requiredArtifactProps RequiredArtifactProps) ([]ResultItem, error)

Use this function when running Aql with pattern

func SearchBySpecWithBuild added in v0.2.0

func SearchBySpecWithBuild(specFile *ArtifactoryCommonParams, flags CommonConf) ([]ResultItem, error)

Use this function when searching by build without pattern or aql

func SearchBySpecWithPattern added in v0.2.0

func SearchBySpecWithPattern(specFile *ArtifactoryCommonParams, flags CommonConf, requiredArtifactProps RequiredArtifactProps) ([]ResultItem, error)

Perform search by pattern.

func (ResultItem) GetItemRelativePath

func (item ResultItem) GetItemRelativePath() string

func (*ResultItem) ToArtifact

func (item *ResultItem) ToArtifact() buildinfo.Artifact

func (*ResultItem) ToDependency

func (item *ResultItem) ToDependency() buildinfo.Dependency

type SpecType

type SpecType string
const (
	WILDCARD SpecType = "wildcard"
	SIMPLE   SpecType = "simple"
	AQL      SpecType = "aql"
	BUILD    SpecType = "build"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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