Documentation
ΒΆ
Index ΒΆ
- Constants
- Variables
- func AskYesNo(promptPrefix string, defaultValue bool) bool
- func ChmodPluginsDirectoryContent() error
- func Contains(arr []string, str string) bool
- func ConvertExitCodeError(err error) error
- func CreateDirInJfrogHome(dirName string) (string, error)
- func DetectTechnologies(path string, isCiSetup, recursive bool) (map[Technology]bool, error)
- func DetectedTechnologiesToSlice(detected map[Technology]bool) []string
- func DetectedTechnologiesToString(detected map[Technology]bool) string
- func ExitOnErr(err error)
- func ExtractDetailedSummaryFromArgs(args []string) (cleanArgs []string, detailedSummary bool, err error)
- func ExtractFailFromArgs(args []string) (cleanArgs []string, fail bool, err error)
- func ExtractInsecureTlsFromArgs(args []string) (cleanArgs []string, insecureTls bool, err error)
- func ExtractLicensesFromArgs(args []string) (cleanArgs []string, licenses bool, err error)
- func ExtractRepoPathFromArgs(args []string) (cleanArgs []string, repoPath string, err error)
- func ExtractServerIdFromCommand(args []string) (cleanArgs []string, serverId string, err error)
- func ExtractSkipLoginFromArgs(args []string) (cleanArgs []string, skipLogin bool, err error)
- func ExtractThreadsFromArgs(args []string, defaultValue int) (cleanArgs []string, threads int, err error)
- func ExtractWatchesFromArgs(args []string) (cleanArgs []string, watches string, err error)
- func ExtractXrayOutputFormatFromArgs(args []string) (cleanArgs []string, format string, err error)
- func ExtractXrayScanFromArgs(args []string) (cleanArgs []string, xrayScan bool, err error)
- func FindBooleanFlag(flagName string, args []string) (flagIndex int, flagValue bool, err error)
- func FindFlag(flagName string, args []string) (flagIndex, flagValueIndex int, flagValue string, err error)
- func FindFlagFirstMatch(flags, args []string) (flagIndex, flagValueIndex int, flagValue string, err error)
- func GetAllTechnologiesList() (technologies []string)
- func GetCliConfigVersion() int
- func GetCliExecutableName() string
- func GetCliPersistentTempDirPath() string
- func GetCliUserAgent() string
- func GetCliUserAgentName() string
- func GetCliUserAgentVersion() string
- func GetClientAgentName() string
- func GetClientAgentVersion() string
- func GetJfrogBackupDir() (string, error)
- func GetJfrogCertsDir() (string, error)
- func GetJfrogConfigLockDir() (string, error)
- func GetJfrogHomeDir() (string, error)
- func GetJfrogLocksDir() (string, error)
- func GetJfrogPluginsDir() (string, error)
- func GetJfrogPluginsLockDir() (string, error)
- func GetJfrogPluginsResourcesDir(pluginsName string) (string, error)
- func GetJfrogSecurityConfFilePath() (string, error)
- func GetJfrogSecurityDir() (string, error)
- func GetJfrogTransferDir() (string, error)
- func GetJfrogTransferErrorsDir() (string, error)
- func GetJfrogTransferRetryableDir() (string, error)
- func GetJfrogTransferSkippedDir() (string, error)
- func GetJfrogTransferStateFilePath() (string, error)
- func GetPluginsConfigVersion() int
- func GetPluginsDirContent() ([]os.DirEntry, error)
- func GetTechnologyPackageDescriptor(tech string) string
- func GetTechnologyPackageType(techName Technology) string
- func GetWorkingDirectory() (string, error)
- func IsAnyEmpty(strings ...string) bool
- func IsLinux() bool
- func IsWindows() bool
- func ListToText(list []string) string
- func PanicOnError(err error) error
- func PrepareTable(rows interface{}, emptyTableMessage string, printExtended bool) (table.Writer, error)
- func PrintBold(str string) string
- func PrintComment(str string) string
- func PrintLink(str string) string
- func PrintMessage(message string)
- func PrintTable(rows interface{}, title string, emptyTableMessage string, printExtended bool) (err error)
- func PrintTitle(str string) string
- func RemoveAllWhiteSpaces(input string) string
- func RemoveFlagFromCommand(args *[]string, flagIndex, flagValueIndex int)
- func ReplaceVars(content []byte, specVars map[string]string) []byte
- func SetCliExecutableName(executableName string)
- func SetCliUserAgentName(cliUserAgentNameToSet string)
- func SetCliUserAgentVersion(versionToSet string)
- func SetClientAgentName(clientAgentToSet string)
- func SetClientAgentVersion(versionToSet string)
- func SetIfEmpty(str *string, defaultStr string) bool
- func SpecVarsStringToMap(rawVars string) map[string]string
- func SumTrueValues(boolArr []bool) int
- type CliError
- type Credentials
- type ExitCode
- type GeneralExecCmd
- type OnError
- type TechData
- type Technology
Constants ΒΆ
const ( // General core constants OnErrorPanic OnError = "panic" // Common TokenRefreshDisabled = 0 TokenRefreshDefaultInterval = 60 // Home Dir JfrogCertsDirName = "certs" JfrogConfigFile = "jfrog-cli.conf" JfrogDependenciesDirName = "dependencies" JfrogSecurityDirName = "security" JfrogSecurityConfFile = "security.yaml" JfrogBackupDirName = "backup" JfrogLogsDirName = "logs" JfrogLocksDirName = "locks" JfrogPluginsDirName = "plugins" PluginsExecDirName = "bin" PluginsResourcesDirName = "resources" JfrogPluginsFileName = "plugins.yml" JfrogTransferDirName = "transfer" JfrogTransferStateFileName = "state.json" JfrogTransferErrorsDirName = "errors" JfrogTransferRetryableErrorsDirName = "retryable" JfrogTransferSkippedErrorsDirName = "skipped" // Env ErrorHandling = "JFROG_CLI_ERROR_HANDLING" TempDir = "JFROG_CLI_TEMP_DIR" LogLevel = "JFROG_CLI_LOG_LEVEL" LogTimestamp = "JFROG_CLI_LOG_TIMESTAMP" ReportUsage = "JFROG_CLI_REPORT_USAGE" DependenciesDir = "JFROG_CLI_DEPENDENCIES_DIR" TransitiveDownload = "JFROG_CLI_TRANSITIVE_DOWNLOAD_EXPERIMENTAL" CI = "CI" )
const ( Maven = "Maven" Gradle = "Gradle" Npm = "npm" Yarn = "Yarn" Go = "go" Pip = "pip" Pipenv = "pipenv" Nuget = "nuget" Dotnet = "dotnet" Docker = "docker" )
const (
GettingStartedGuideUrl = "https://github.com/jfrog/jfrog-cli/blob/v2/guides/getting-started-with-jfrog-using-the-cli.md"
)
Variables ΒΆ
var ( HomeDir = "JFROG_CLI_HOME_DIR" BuildName = "JFROG_CLI_BUILD_NAME" BuildNumber = "JFROG_CLI_BUILD_NUMBER" Project = "JFROG_CLI_BUILD_PROJECT" )
Although these vars are constant, they are defined inside a vars section and not a constants section because the tests modify these values.
var DefaultMaxColWidth = 25
Controls the max col width when printing to a non-terminal. See the PrintTable description for more info.
var ExitCodeError = ExitCode{1}
var ExitCodeFailNoOp = ExitCode{2}
var ExitCodeNoError = ExitCode{0}
var ExitCodeVulnerableBuild = ExitCode{3}
Functions ΒΆ
func ChmodPluginsDirectoryContent ΒΆ added in v2.13.0
func ChmodPluginsDirectoryContent() error
func ConvertExitCodeError ΒΆ added in v2.1.0
When running a command in an external process, if the command fails to run or doesn't complete successfully ExitError is returned. We would like to return a regular error instead of ExitError, because some frameworks (such as codegangsta used by JFrog CLI) automatically exit when this error is returned.
func CreateDirInJfrogHome ΒΆ
func DetectTechnologies ΒΆ added in v2.7.0
func DetectTechnologies(path string, isCiSetup, recursive bool) (map[Technology]bool, error)
DetectTechnologies tries to detect all technologies types according to the files in the given path. 'isCiSetup' will limit the search of possible techs to Maven, Gradle, and npm. 'recursive' will determine if the search will be limited to files in the root path or not.
func DetectedTechnologiesToSlice ΒΆ added in v2.12.0
func DetectedTechnologiesToSlice(detected map[Technology]bool) []string
DetectedTechnologiesToSlice returns a string slice that includes all the names of the detected technologies.
func DetectedTechnologiesToString ΒΆ added in v2.10.0
func DetectedTechnologiesToString(detected map[Technology]bool) string
DetectTechnologiesToString returns a string that includes all the names of the detected technologies separated by a comma.
func ExtractFailFromArgs ΒΆ added in v2.10.0
Used by docker
func ExtractLicensesFromArgs ΒΆ added in v2.10.0
Used by docker scan (Xray)
func ExtractRepoPathFromArgs ΒΆ added in v2.10.0
Used by docker scan (Xray)
func ExtractServerIdFromCommand ΒΆ added in v2.10.0
func ExtractSkipLoginFromArgs ΒΆ added in v2.10.0
Used by docker
func ExtractThreadsFromArgs ΒΆ added in v2.10.0
func ExtractWatchesFromArgs ΒΆ added in v2.10.0
Used by docker scan (Xray)
func ExtractXrayOutputFormatFromArgs ΒΆ added in v2.4.1
func FindBooleanFlag ΒΆ
Boolean flag can be provided in one of the following forms: 1. --flag=value, where value can be true/false 2. --flag, here the value is true Return values: flagIndex - index of flagName in args. flagValue - value of flagName. err - error if flag exists, but we failed to extract its value. If flag does not exist flagIndex = -1 with false value and nil error.
func FindFlag ΒΆ
func FindFlag(flagName string, args []string) (flagIndex, flagValueIndex int, flagValue string, err error)
Find value of required CLI flag in Command. If flag does not exist, the returned index is -1 and nil is returned as the error. Return values: err - error if flag exists but failed to extract its value. flagIndex - index of flagName in Command. flagValueIndex - index in Command in which the value of the flag exists. flagValue - value of flagName.
func FindFlagFirstMatch ΒΆ
func FindFlagFirstMatch(flags, args []string) (flagIndex, flagValueIndex int, flagValue string, err error)
Find the first match of the provided flags in args. Return same values as FindFlag.
func GetAllTechnologiesList ΒΆ added in v2.18.7
func GetAllTechnologiesList() (technologies []string)
func GetCliConfigVersion ΒΆ added in v2.13.0
func GetCliConfigVersion() int
GetCliConfigVersion returns the latest version of the config.yml file on the file system at '.jfrog'.
func GetCliExecutableName ΒΆ added in v2.5.0
func GetCliExecutableName() string
func GetCliPersistentTempDirPath ΒΆ
func GetCliPersistentTempDirPath() string
Return the path of CLI temp dir. This path should be persistent, meaning - should not be cleared at the end of a CLI run.
func GetCliUserAgent ΒΆ
func GetCliUserAgent() string
func GetCliUserAgentName ΒΆ
func GetCliUserAgentName() string
func GetCliUserAgentVersion ΒΆ
func GetCliUserAgentVersion() string
func GetClientAgentName ΒΆ
func GetClientAgentName() string
func GetClientAgentVersion ΒΆ
func GetClientAgentVersion() string
func GetJfrogBackupDir ΒΆ
func GetJfrogCertsDir ΒΆ
func GetJfrogConfigLockDir ΒΆ added in v2.2.0
func GetJfrogHomeDir ΒΆ
func GetJfrogLocksDir ΒΆ added in v2.2.0
func GetJfrogPluginsDir ΒΆ
func GetJfrogPluginsLockDir ΒΆ added in v2.13.0
func GetJfrogPluginsResourcesDir ΒΆ added in v2.13.0
func GetJfrogSecurityDir ΒΆ
func GetJfrogTransferDir ΒΆ added in v2.17.0
func GetJfrogTransferErrorsDir ΒΆ added in v2.17.0
func GetJfrogTransferRetryableDir ΒΆ added in v2.17.0
func GetJfrogTransferSkippedDir ΒΆ added in v2.17.0
func GetJfrogTransferStateFilePath ΒΆ added in v2.17.0
func GetPluginsConfigVersion ΒΆ added in v2.13.0
func GetPluginsConfigVersion() int
GetPluginsConfigVersion returns the latest plugins layout version on the file system (at '.jfrog/plugins').
func GetPluginsDirContent ΒΆ added in v2.13.0
func GetTechnologyPackageDescriptor ΒΆ added in v2.19.0
func GetTechnologyPackageType ΒΆ added in v2.9.0
func GetTechnologyPackageType(techName Technology) string
func GetWorkingDirectory ΒΆ
func IsAnyEmpty ΒΆ
func ListToText ΒΆ added in v2.11.3
Turn a list of strings into a sentence. For example, turn ["one", "two", "three"] into "one, two and three". For a single element: "one".
func PanicOnError ΒΆ
func PrepareTable ΒΆ added in v2.11.3
func PrepareTable(rows interface{}, emptyTableMessage string, printExtended bool) (table.Writer, error)
Creates table following the logic described in PrintTable. Returns: Table Writer (table.Writer) - Can be used to adjust style, output mirror, render type, etc. Error if occurred.
func PrintComment ΒΆ added in v2.7.2
Print the test to the console in gray color.
func PrintMessage ΒΆ added in v2.1.0
func PrintMessage(message string)
PrintMessage prints message in a frame (which is actually a table with a single table). For example: βββββββββββββββββββββββββββββββββββββββββββ β An example of a message in a nice frame β βββββββββββββββββββββββββββββββββββββββββββ
func PrintTable ΒΆ added in v2.1.0
func PrintTable(rows interface{}, title string, emptyTableMessage string, printExtended bool) (err error)
PrintTable prints a slice of rows in a table. The parameter rows MUST be a slice, otherwise the method panics. How to use this method (with an example): The fields of the struct must have one of the tags: 'col-name' or 'embed-table' in order to be printed. Fields without any of these tags will be skipped. The tag 'col-name' can be set on string fields only. The column name is the 'col-name' tag value. On terminal, the maximum column width is calculated (terminal width equally divided between columns), while on non-terminal the value of the DefaultMaxColWidth variable is used. If the cell content exceeds the defined max column width, the content will be broken into two (or more) lines. In case the struct you want to print contains a field that is a slice of other structs, you can print it in the table too with the 'embed-table' tag which can be set on slices of structs only. Fields with the 'extended' tag will be printed iff the 'printExtended' bool input is true.
Example: These are the structs Customer and Product:
type Customer struct { name string `col-name:"Name"` age string `col-name:"Age"` products []Product `embed-table:"true"` }
type Product struct { title string `col-name:"Product Title"` CatNumber string `col-name:"Product\nCatalog #"` Color string `col-name:"Color" extended:"true"` }
We'll use it, and run these commands (var DefaultMaxColWidth = 25):
customersSlice := []Customer{ {name: "Gai", age: "350", products: []Product{{title: "SpiderFrog Shirt - Medium", CatNumber: "123456", Color: "Green"}, {title: "Floral Bottle", CatNumber: "147585", Color: "Blue"}}}, {name: "Noah", age: "21", products: []Product{{title: "Pouch", CatNumber: "456789", Color: "Red"}, {title: "Ching Ching", CatNumber: "963852", Color: "Gold"}}}, }
err := coreutils.PrintTable(customersSlice, "Customers", "No customers were found", false)
That's the table printed:
Customers ββββββββ¬ββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββ β NAME β AGE β PRODUCT TITLE β PRODUCT β β β β β CATALOG # β ββββββββΌββββββΌββββββββββββββββββββββββββΌββββββββββββ€ β Gai β 350 β SpiderFrog Shirt - Medi β 123456 β β β β um β β β β β Floral Bottle β 147585 β ββββββββΌββββββΌββββββββββββββββββββββββββΌββββββββββββ€ β Noah β 21 β Pouch β 456789 β β β β Ching Ching β 963852 β ββββββββ΄ββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββ
If printExtended=true:
err := coreutils.PrintTable(customersSlice, "Customers", "No customers were found", true)
Customers ββββββββ¬ββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββ¬ββββββββββββ β NAME β AGE β PRODUCT TITLE β PRODUCT β Color β β β β β CATALOG # β β ββββββββΌββββββΌββββββββββββββββββββββββββΌββββββββββββΌββββββββββββ€ β Gai β 350 β SpiderFrog Shirt - Medi β 123456 β Green β β β β um β β β β β β Floral Bottle β 147585 β Blue β ββββββββΌββββββΌββββββββββββββββββββββββββΌββββββββββββΌββββββββββββ€ β Noah β 21 β Pouch β 456789 β Red β β β β Ching Ching β 963852 β Gold β ββββββββ΄ββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββ΄ββββββββββββ
If customersSlice was empty, emptyTableMessage would have been printed instead:
Customers βββββββββββββββββββββββββββ β No customers were found β βββββββββββββββββββββββββββ
func PrintTitle ΒΆ added in v2.7.2
Print the test to the console in green color.
func RemoveAllWhiteSpaces ΒΆ added in v2.11.3
func RemoveFlagFromCommand ΒΆ
Removes the provided flag and value from the command arguments
func SetCliExecutableName ΒΆ added in v2.5.0
func SetCliExecutableName(executableName string)
func SetCliUserAgentName ΒΆ
func SetCliUserAgentName(cliUserAgentNameToSet string)
func SetCliUserAgentVersion ΒΆ
func SetCliUserAgentVersion(versionToSet string)
func SetClientAgentName ΒΆ
func SetClientAgentName(clientAgentToSet string)
func SetClientAgentVersion ΒΆ
func SetClientAgentVersion(versionToSet string)
func SetIfEmpty ΒΆ
func SpecVarsStringToMap ΒΆ
func SumTrueValues ΒΆ
Types ΒΆ
type Credentials ΒΆ
type GeneralExecCmd ΒΆ
Command used to execute general commands.
func (*GeneralExecCmd) GetCmd ΒΆ
func (pluginCmd *GeneralExecCmd) GetCmd() *exec.Cmd
func (*GeneralExecCmd) GetEnv ΒΆ
func (pluginCmd *GeneralExecCmd) GetEnv() map[string]string
func (*GeneralExecCmd) GetErrWriter ΒΆ
func (pluginCmd *GeneralExecCmd) GetErrWriter() io.WriteCloser
func (*GeneralExecCmd) GetStdWriter ΒΆ
func (pluginCmd *GeneralExecCmd) GetStdWriter() io.WriteCloser
type OnError ΒΆ
type OnError string
Error modes (how should the application behave when the CheckError function is invoked):
type TechData ΒΆ added in v2.9.0
type TechData struct { // The name of the package type used in this technology. PackageType string // contains filtered or unexported fields }
type Technology ΒΆ added in v2.7.0
type Technology string
func ToTechnologies ΒΆ added in v2.12.0
func ToTechnologies(args []string) (technologies []Technology)