utils

package
v0.21.1 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 21 Imported by: 137

Documentation

Index

Constants

View Source
const (
	Development = "development"
	Agent       = "jfrog-client-go"
	Version     = "0.21.1"
)
View Source
const CredentialsInUrlRegexp = `(http|https|git)://.+@`
View Source
const MAX_ENTRIES = 10000

Variables

View Source
var MaxBufferSize = 50000

In order to limit the number of items loaded from a reader into the memory, we use a buffers with this size limit.

Functions

func AddProps added in v0.19.0

func AddProps(oldProps, additionalProps string) string

func AddTrailingSlashIfNeeded

func AddTrailingSlashIfNeeded(url string) string

func Bool2Int

func Bool2Int(b bool) int

func BuildTargetPath

func BuildTargetPath(pattern, path, target string, ignoreRepo bool) (string, error)

Replaces matched regular expression from path to corresponding placeholder {i} at target. Example 1:

pattern = "repoA/1(.*)234" ; path = "repoA/1hello234" ; target = "{1}" ; ignoreRepo = false
returns "hello"

Example 2:

pattern = "repoA/1(.*)234" ; path = "repoB/1hello234" ; target = "{1}" ; ignoreRepo = true
returns "hello"

func CheckErrorWithMessage added in v0.1.1

func CheckErrorWithMessage(err error, message string) error

func ConvertSliceToMap added in v0.1.2

func ConvertSliceToMap(slice []string) map[string]bool

func CopyMap

func CopyMap(src map[string]string) (dst map[string]string)

func ExtractArchive added in v0.17.2

func ExtractArchive(localPath, localFileName, originFileName, logMsgPrefix string) error

localPath - The path of the downloaded archive file. localFileName - name of the archive file. originFileName - name of the archive file in Artifactory. logMsgPrefix - prefix log message. Extract an archive file to the 'localPath'.

func GetBoolEnvValue added in v0.1.1

func GetBoolEnvValue(flagName string, defValue bool) (bool, error)

func GetLogMsgPrefix

func GetLogMsgPrefix(threadId int, dryRun bool) string

func GetRegExp added in v0.3.1

func GetRegExp(regex string) (*regexp.Regexp, error)

func GetRootPath

func GetRootPath(path string, patternType PatternType, parentheses ParenthesesSlice) string

Get the local root path, from which to start collecting artifacts to be used for: 1. Uploaded to Artifactory, 2. Adding to the local build-info, to be later published to Artifactory.

func GetUserAgent

func GetUserAgent() string

func GetUserHomeDir

func GetUserHomeDir() string

func IndentJson

func IndentJson(jsonStr []byte) string

func IndentJsonArray added in v0.13.0

func IndentJsonArray(jsonStr []byte) string

func IsSlashPrecedeAsterisk added in v0.11.1

func IsSlashPrecedeAsterisk(asteriskIndex, slashIndex int) bool

func IsWindows

func IsWindows() bool

func MergeMaps

func MergeMaps(src map[string]string, dst map[string]string)

func NewGitManager added in v0.6.2

func NewGitManager(path string) *manager

func PrepareLocalPathForUpload

func PrepareLocalPathForUpload(localPath string, patternType PatternType) string

func RemoveCredentials added in v0.17.5

func RemoveCredentials(line, credentialsPart string) string

Remove credentials from the URL contained in the input line. The credentials are built as 'user:password' or 'token' For example: line = 'This is a line http://user:password@127.0.0.1:8081/artifactory/path/to/repo' credentialsPart = 'http://user:password@' Returned value: 'This is a line http://127.0.0.1:8081/artifactory/path/to/repo'

line = 'This is a line http://token@127.0.0.1:8081/artifactory/path/to/repo' credentialsPart = 'http://token@' Returned value: 'This is a line http://127.0.0.1:8081/artifactory/path/to/repo'

func RemovePlaceholderParentheses added in v0.5.3

func RemovePlaceholderParentheses(pattern, target string) string

func ReplaceTildeWithUserHome

func ReplaceTildeWithUserHome(path string) string

func SetUserAgent

func SetUserAgent(newUserAgent string)

func SplitWithEscape

func SplitWithEscape(str string, separator rune) []string

Split str by the provided separator, escaping the separator if it is prefixed by a back-slash.

func StringToBool

func StringToBool(boolVal string, defaultValue bool) (bool, error)

func TrimPath

func TrimPath(path string) string

func WildcardPathToRegExp added in v0.20.1

func WildcardPathToRegExp(localPath string) string

Types

type Artifact

type Artifact struct {
	LocalPath  string
	TargetPath string
	Symlink    string
}

type ErrorsQueue added in v0.11.0

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

func NewErrorsQueue added in v0.11.0

func NewErrorsQueue(size int) *ErrorsQueue

func (*ErrorsQueue) AddError added in v0.11.0

func (errQueue *ErrorsQueue) AddError(err error)

func (*ErrorsQueue) GetError added in v0.11.0

func (errQueue *ErrorsQueue) GetError() error

type ExecutionHandlerFunc added in v0.2.2

type ExecutionHandlerFunc func() (bool, error)

type Parentheses added in v0.5.3

type Parentheses struct {
	OpenIndex  int
	CloseIndex int
}

This struct represents the parentheses used for defining Placeholders (Placeholders is a feature supported by File Specs).

type ParenthesesSlice added in v0.5.3

type ParenthesesSlice struct {
	Parentheses []Parentheses
}

func NewParenthesesSlice added in v0.7.0

func NewParenthesesSlice(pattern, target string) ParenthesesSlice

func (*ParenthesesSlice) IsPresent added in v0.5.3

func (p *ParenthesesSlice) IsPresent(index int) bool

type PatternType added in v0.20.1

type PatternType string
const (
	WildCardPattern PatternType = "wildcard"
	RegExp          PatternType = "regexp"
	AntPattern      PatternType = "ant"
)

func GetPatternType added in v0.20.1

func GetPatternType(patternTypes PatternTypes) PatternType

type PatternTypes added in v0.20.1

type PatternTypes struct {
	RegExp bool
	Ant    bool
}

type RetryExecutor added in v0.2.2

type RetryExecutor struct {
	// The amount of retries to perform.
	MaxRetries int

	// Number of seconds to sleep between retries.
	RetriesInterval int

	// Message to display when retrying.
	ErrorMessage string

	// Prefix to print at the beginning of each log.
	LogMsgPrefix string

	// ExecutionHandler is the operation to run with retries.
	ExecutionHandler ExecutionHandlerFunc
}

func (*RetryExecutor) Execute added in v0.2.2

func (runner *RetryExecutor) Execute() error

type VcsCache added in v0.6.2

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

func NewVcsDetals added in v0.6.0

func NewVcsDetals() *VcsCache

func (*VcsCache) GetVcsDetails added in v0.6.2

func (this *VcsCache) GetVcsDetails(path string) (revision, refUrl, branch string, err error)

Search for '.git' directory inside 'path', incase there is one, extract the details and add a new entry to the cache(key:path in the file system ,value: git revision & url). otherwise, search in the parent folder and try: 1. search for .git, and save the details for the current dir and all subpath 2. .git not found, go to parent dir and repeat 3. not found on the root directory, add all subpath to cache with nil as a value

Jump to

Keyboard shortcuts

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