techutils

package
v1.12.3 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2024 License: Apache-2.0 Imports: 16 Imported by: 3

Documentation

Index

Constants

View Source
const Pypi = "pypi"

Variables

View Source
var AllTechnologiesStrings = []string{Maven.String(), Gradle.String(), Npm.String(), Pnpm.String(), Yarn.String(), Go.String(), Pip.String(), Pipenv.String(), Poetry.String(), Nuget.String(), Dotnet.String(), Docker.String(), Oci.String(), Conan.String()}

Associates a technology with project type (used in config commands for the package-managers). Docker is not present, as there is no docker-config command and, consequently, no docker.yaml file we need to operate on.

Functions

func DetectTechnologiesDescriptors

func DetectTechnologiesDescriptors(path string, recursive bool, requestedTechs []string, requestedDescriptors map[Technology][]string, excludePathPattern string) (technologiesDetected map[Technology]map[string][]string, err error)

If recursive is true, the search will not be limited to files in the root path. If requestedTechs is empty, all technologies will be checked. If excludePathPattern is not empty, files/directories that match the wildcard pattern will be excluded from the search.

func DetectedTechnologiesList

func DetectedTechnologiesList() (technologies []string)

func DetectedTechnologiesToSlice

func DetectedTechnologiesToSlice(detected map[Technology]map[string][]string) []string

DetectedTechnologiesToSlice returns a string slice that includes all the names of the detected technologies.

func SplitComponentId added in v1.12.0

func SplitComponentId(componentId string) (string, string, string)

SplitComponentId splits a Xray component ID to the component name, version and package type. In case componentId doesn't contain a version, the returned version will be an empty string. In case componentId's format is invalid, it will be returned as the component name and empty strings will be returned instead of the version and the package type. Examples:

  1. componentId: "gav://antparent:ant:1.6.5" Returned values: Component name: "antparent:ant" Component version: "1.6.5" Package type: "Maven"
  2. componentId: "generic://sha256:244fd47e07d1004f0aed9c156aa09083c82bf8944eceb67c946ff7430510a77b/foo.jar" Returned values: Component name: "foo.jar" Component version: "" Package type: "Generic"
  3. componentId: "invalid-comp-id" Returned values: Component name: "invalid-comp-id" Component version: "" Package type: ""

Types

type CodeLanguage

type CodeLanguage string
const (
	JavaScript CodeLanguage = "javascript"
	Python     CodeLanguage = "python"
	GoLang     CodeLanguage = "go"
	Java       CodeLanguage = "java"
	CSharp     CodeLanguage = "C#"
	CPP        CodeLanguage = "C++"
)

func TechnologyToLanguage

func TechnologyToLanguage(technology Technology) CodeLanguage

type ContentValidator

type ContentValidator func(content []byte) bool

Given a file content, returns true if the content is an indicator of the technology.

type TechData

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

type Technology

type Technology string
const (
	Maven  Technology = "maven"
	Gradle Technology = "gradle"
	Npm    Technology = "npm"
	Pnpm   Technology = "pnpm"
	Yarn   Technology = "yarn"
	Go     Technology = "go"
	Pip    Technology = "pip"
	Pipenv Technology = "pipenv"
	Poetry Technology = "poetry"
	Nuget  Technology = "nuget"
	Dotnet Technology = "dotnet"
	Docker Technology = "docker"
	Oci    Technology = "oci"
	Conan  Technology = "conan"
)

func GetAllTechnologiesList

func GetAllTechnologiesList() (technologies []Technology)

func ToTechnologies

func ToTechnologies(args []string) (technologies []Technology)

func (Technology) GetExecCommandName

func (tech Technology) GetExecCommandName() string

func (Technology) GetPackageDescriptor

func (tech Technology) GetPackageDescriptor() []string

func (Technology) GetPackageInstallationCommand

func (tech Technology) GetPackageInstallationCommand() string

func (Technology) GetPackageType

func (tech Technology) GetPackageType() string

func (Technology) GetPackageTypeId added in v1.12.0

func (tech Technology) GetPackageTypeId() string

func (Technology) GetPackageVersionOperator

func (tech Technology) GetPackageVersionOperator() string

func (Technology) String

func (tech Technology) String() string

func (Technology) ToFormal

func (tech Technology) ToFormal() string

Jump to

Keyboard shortcuts

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