Documentation ¶
Index ¶
- Constants
- func AddPathEnv(packageName string, packageSrcPath string) error
- func AddVendorPathEnv(pkgRoot string)
- func CheckDir(path string) error
- func CheckDirLists(dirs ...string) error
- func DepTreeRecover(metas *map[string]PackageMeta, filename string) error
- func GetCMakeVendorPkgPath(packageName string) (path string)
- func GetCachePath(base, packageName string) (path string)
- func GetDepGraphPath(base string) string
- func GetHomeSrcPath() (string, error)
- func GetIncludePath(base string) (path string)
- func GetPackageHomeSrcPath(packageName string, version string) (string, error)
- func GetPackagePkgPath(base string, packageName string) (path string)
- func GetPackageSrcPath(base, packageName string) (path string)
- func GetPkgBuildPath(base string) string
- func GetPkgIncludePath(base string, packageName string) (path string)
- func GetPkgPath(base string) (path string)
- func GetPkgSumPath(base string) string
- func GetPkgUserHomeFile(suffixPath string) (string, error)
- func GetVendorPath(base string) string
- func LoadListFromGraph(graphPath, packageName string) ([]string, error)
- func ProcessEnv(origin string) string
- func RelativePath(base, target string) string
- func Unzip(src string, dest string) error
- func UrlJoin(base, ele string) string
- type ArchivePackage
- type DepPkgContext
- type DependencyTree
- func (depTree *DependencyTree) Dump(filename string) error
- func (depTree *DependencyTree) ListDeps() ([]string, error)
- func (depTree *DependencyTree) MarshalGraph(writer io.Writer) error
- func (depTree *DependencyTree) Traversal(callback func(*DependencyTree) bool)
- func (depTree *DependencyTree) TraversalDeep(callback func(*DependencyTree) error) error
- func (depTree *DependencyTree) TraversalPreOrder(callback func(*DependencyTree) bool) bool
- type FilesPackage
- type GitPackage
- type Package
- type PackageMeta
- type Packages
- type Pkg
Constants ¶
const ( DlStatusEmpty = iota DlStatusSkip DlStatusOk )
const ( VendorName = "vendor" VendorCache = "cache" VendorSrc = "src" VendorPkg = "pkg" VendorScripts = "scripts" VendorInclude = "include" VendorLib = "lib" VendorLib64 = "lib64" VendorUserHome = ".pkg" VendorUserHomeSrc = "registry/default-pkg/src" )
const ( PkgFileName = "pkg.yaml" PurgePkgSumFileName = "pkg.sum.yaml" PkgSumFileName = VendorName + "/" + PurgePkgSumFileName BuildShellName = "pkg.build.sh" CMakeDep = "pkg.dep.cmake" DepGraph = "pkg.graph" CMakeVendorPath = "${VENDOR_PATH}" )
const PKGROOT = "PKG_ROOT"
const RootPKG = "root"
Variables ¶
This section is empty.
Functions ¶
func AddPathEnv ¶
pkgRoot: the root directory of pkg.yaml
func AddVendorPathEnv ¶
func AddVendorPathEnv(pkgRoot string)
pkgRoot: the root directory of pkg.yaml
func DepTreeRecover ¶
func DepTreeRecover(metas *map[string]PackageMeta, filename string) error
recover the dependency tree from a yaml file. the result is saved in variable deps.
func GetCMakeVendorPkgPath ¶
return ${VENDOR_PATH}/pkg/@packageName
func GetCachePath ¶
return @base/vendor/cache
func GetDepGraphPath ¶
func GetHomeSrcPath ¶
return $HOME/.pkg/registry/default-pkg/src
func GetPackageHomeSrcPath ¶
func GetPackagePkgPath ¶
return @base/vendor/pkg/@packageName
func GetPackageSrcPath ¶
return @base/vendor/src/@packageName deprecated
func GetPkgBuildPath ¶
func GetPkgIncludePath ¶
return @base/vendor/pkg/@packageName/include
func GetPkgSumPath ¶
func GetPkgUserHomeFile ¶
func GetVendorPath ¶
func LoadListFromGraph ¶
func RelativePath ¶
// change path to relative path, replace PKG_DIR with relative path.
func Unzip ¶
FROM https://golangcode.com/unzip-files-in-go/ Unzip will decompress a zip archive, moving all files and folders within the zip file (parameter 1) to an output directory (parameter 2).
Types ¶
type ArchivePackage ¶
type ArchivePackage struct {
Package `yaml:",inline"`
}
type DepPkgContext ¶
type DependencyTree ¶
type DependencyTree struct { Context DepPkgContext Dependencies []*DependencyTree Builder []string // outer builder (specified by others pkg,) SelfBuild []string // inner builder (this is specified in package's pkg.yaml file) CMakeLib string // outer cmake script to add this lib. SelfCMakeLib string // inner cmake script to add this lib. DlStatus int IsPkgPackage bool }
func (*DependencyTree) Dump ¶
func (depTree *DependencyTree) Dump(filename string) error
marshal dependency tree content to a yaml file.
func (*DependencyTree) ListDeps ¶
func (depTree *DependencyTree) ListDeps() ([]string, error)
list all dependencies packages of a package by TraversalDeep.
func (*DependencyTree) MarshalGraph ¶
func (depTree *DependencyTree) MarshalGraph(writer io.Writer) error
dump direct and indirect dependencies packages of all packages.
func (*DependencyTree) Traversal ¶
func (depTree *DependencyTree) Traversal(callback func(*DependencyTree) bool)
traversal all tree node with pre-order. if the return value of callback function is false, it will skip its children nodes.
func (*DependencyTree) TraversalDeep ¶
func (depTree *DependencyTree) TraversalDeep(callback func(*DependencyTree) error) error
traversal all tree node(including the root node) by deep first strategy. if return value of callback is false, then the traversal will break.
func (*DependencyTree) TraversalPreOrder ¶
func (depTree *DependencyTree) TraversalPreOrder(callback func(*DependencyTree) bool) bool
traversal all tree node with pre-order. if the return value of callback function is false, then the traversal will break.
type FilesPackage ¶
type GitPackage ¶
type PackageMeta ¶
type PackageMeta struct { SrcPath string `yaml:"-"` Version string `yaml:"version"` Builder []string `yaml:"builder"` // outer builder (lib used by others) SelfBuild []string `yaml:"self_build"` // inner builder (shows how this package is built) CMakeLib string `yaml:"cmake_lib"` // outer cmake script to add this lib. SelfCMakeLib string `yaml:"self_cmake_lib"` // inner cmake script to add this lib. }
package metadata used in sum file.
type Packages ¶
type Packages struct { GitPackages map[string]GitPackage `yaml:"git"` FilesPackages map[string]FilesPackage `yaml:"files"` ArchivePackages map[string]ArchivePackage `yaml:"archive"` }