package builder
import "github.com/spdx/tools-golang/builder"
Package builder is used to create tools-golang data structures for a given directory path's contents, with hashes, etc. filled in and with empty license data. SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
Index ¶
- func Build(packageName string, dirRoot string, config *Config) (*spdx.Document, error)
- func BuildCreationInfoSection(creatorType string, creator string, testValues map[string]string) (*spdx.CreationInfo, error)
- func BuildFileSection(filePath string, prefix string, fileNumber int) (*spdx.File, error)
- func BuildPackageSection(packageName string, dirRoot string, pathsIgnore []string) (*spdx.Package, error)
- func BuildRelationshipSection(packageName string) (*spdx.Relationship, error)
- type Config
Functions ¶
func Build ¶
Build creates an SPDX Document, returning that document or error if any is encountered. Arguments:
- packageName: name of package / directory
- dirRoot: path to directory to be analyzed
- config: Config object
func BuildCreationInfoSection ¶
func BuildCreationInfoSection(creatorType string, creator string, testValues map[string]string) (*spdx.CreationInfo, error)
BuildCreationInfoSection creates an SPDX Package, returning that package or error if any is encountered. Arguments:
- packageName: name of package / directory
- code: verification code from Package
- namespacePrefix: prefix for DocumentNamespace (packageName and code will be added)
- creatorType: one of Person, Organization or Tool
- creator: creator string
- testValues: for testing only; call with nil when using in production
func BuildFileSection ¶
BuildFileSection creates an SPDX File, returning that file or error if any is encountered. Arguments:
- filePath: path to file, relative to prefix
- prefix: relative directory for filePath
- fileNumber: integer index (unique within package) to use in identifier
func BuildPackageSection ¶
func BuildPackageSection(packageName string, dirRoot string, pathsIgnore []string) (*spdx.Package, error)
BuildPackageSection creates an SPDX Package, returning that package or error if any is encountered. Arguments:
- packageName: name of package / directory
- dirRoot: path to directory to be analyzed
- pathsIgnore: slice of strings for filepaths to ignore
func BuildRelationshipSection ¶
func BuildRelationshipSection(packageName string) (*spdx.Relationship, error)
BuildRelationshipSection creates an SPDX Relationship solely for the document "DESCRIBES" package relationship, returning that relationship or error if any is encountered. Arguments:
- packageName: name of package / directory
Types ¶
type Config ¶
type Config struct { // NamespacePrefix should be a URI representing a prefix for the // namespace with which the SPDX Document will be associated. // It will be used in the DocumentNamespace field in the CreationInfo // section, followed by the per-Document package name and a random UUID. NamespacePrefix string // CreatorType should be one of "Person", "Organization" or "Tool". // If not one of those strings, it will be interpreted as "Person". CreatorType string // Creator will be filled in for the given CreatorType. Creator string // PathsIgnored lists certain paths to be omitted from the built document. // Each string should be a path, relative to the package's dirRoot, // to a specific file or (for all files in a directory) ending in a slash. // Prefix the string with "**" to omit all instances of that file / // directory, regardless of where it is in the file tree. PathsIgnored []string // TestValues is used to pass fixed values for testing purposes // only, and should be set to nil for production use. It is only // exported so that it will be accessible within builder. TestValues map[string]string }
Config is a collection of configuration settings for builder. A few mandatory fields are set here so that they can be repeatedly reused in multiple calls to Build.
Source Files ¶
build.go build_creation_info.go build_file.go build_package.go build_relationship.go
- Version
- v0.5.5 (latest)
- Published
- Jun 17, 2024
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 3 weeks ago –
Tools for package owners.