Documentation
¶
Index ¶
Constants ¶
View Source
const (
RemoteRepoUrlFlagname = "remote-repo-url"
)
Variables ¶
This section is empty.
Functions ¶
func GetTargetId ¶
func GetTargetId(path string, idType TargetIdType, options ...TargetIdOptions) (string, error)
GetTargetId generates an identifier for a given path. The format and components of the ID vary depending on whether the path points to a git repository or a file system location.
scheme:type/namespace/name@version?qualifiers#subpath
The URL scheme is always "pkg".
For git repositories, the URL structure is as follows:
pkg:git/namespace@version?branch=branchname[subpath] - namespace: MUST be the hostname and path of the repository (e.g., "github.com/user/repo") - name: MUST be the project name (derived from the repository URL) - version: MUST be the commit hash - branch (qualifiers): MUST be the branch name - subpath (optional): COULD specify a path or file within the repository - issue (qualifiers) (optional): COULD specify an issue ID - line (qualifiers) (optional): COULD specify a line number, often used with issue qualifiers
Example for a git repository:
pkg:git/github.com/snyk/go-application-framework@c9cc908c69bc6d8cc4715275f9c19fa3be69aebc?branch=main
Example for a file within a git repository:
pkg:git/github.com/snyk/go-application-framework@c9cc908c69bc6d8cc4715275f9c19fa3be69aebc?branch=main#cliv2/go.mod
For file system locations, the URL structure is as follows:
pkg:filesystem/namespace/name[subpath] - namespace: MUST be the SHA-256 sum of the absolute path to the root package/folder - name: MUST be the last folder name in the path - subpath (optional): COULD specify a path or file within the directory
Example for a file system location:
pkg:filesystem/aafc908c69bc6d8cc4715275f9c19fa3be69aebc/name#cliv2/go.mod
Parameters: - path: The file system path to generate the target id for. - idType: one of the available TargetIdType - options: optional values to assign to the target id
Returns: A string representing the target id
Types ¶
type TargetIdOptions ¶
func WithConfiguredRepository ¶
func WithConfiguredRepository(config configuration.Configuration) TargetIdOptions
func WithLineNumber ¶
func WithLineNumber(line int) TargetIdOptions
func WithSubPath ¶
func WithSubPath(subpath string) TargetIdOptions
type TargetIdType ¶
type TargetIdType int
const ( FilesystemTargetId TargetIdType = 0x02 // require filesystem type target id otherwise fail GitTargetId TargetIdType = 0x01 // require git type target id otherwise fail AutoDetectedTargetId TargetIdType = 0xff // automatically detect the target id type, trying git first and falling back to filesystem )
Click to show internal directories.
Click to hide internal directories.