Documentation ¶
Index ¶
- func ResolveCommit(ctx context.Context, rtx *Context, commit *app.ProjectCommit) (*app.GitCommit, []string, error)
- func ResolveHostTools(ctx context.Context, hostToolPath string) (*app.HostReport, error)
- func RunPaths(ctx context.Context, rtx *Context, target string, singlePath bool, ...) []*app.BuildPath
- func RunQuery(ctx context.Context, rtx *Context, req *app.QueryRequest) (*app.QueryResponse, error)
- func RunReport(ctx context.Context, rtx *Context, req *app.ReportRequest) (*app.Report, error)
- type BuildDependencies
- type Context
- type ProjectDependencies
- type ProjectInfo
- type RepoDependencies
- type RepoMan
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ResolveCommit ¶
func ResolveCommit(ctx context.Context, rtx *Context, commit *app.ProjectCommit) (*app.GitCommit, []string, error)
Resolve commit into git commit info
func ResolveHostTools ¶
Find host tools
func RunPaths ¶
func RunPaths(ctx context.Context, rtx *Context, target string, singlePath bool, files []string) []*app.BuildPath
Get paths
func RunQuery ¶
func RunQuery(ctx context.Context, rtx *Context, req *app.QueryRequest) (*app.QueryResponse, error)
Run query report based on the input request.
For each input file query the target and create a set of the inputs and outputs associated with all the input files.
Types ¶
type BuildDependencies ¶
type BuildDependencies interface { Command(ctx context.Context, target string) (*app.BuildCommand, error) Input(ctx context.Context, target string) (*app.BuildInput, error) Query(ctx context.Context, target string) (*app.BuildQuery, error) Path(ctx context.Context, target string, dependency string) (*app.BuildPath, error) Paths(ctx context.Context, target string, dependency string) ([]*app.BuildPath, error) Deps(ctx context.Context) (*app.BuildDeps, error) }
type Context ¶
type Context struct { RepoBase string // Absolute path to repo base Repo RepoDependencies // Repo interface Build BuildDependencies // Build interface Project ProjectDependencies // Project interface WorkerCount int // Number of worker threads BuildWorkerCount int // Number of build worker threads Info *ProjectInfo // Project information }
Report context
type ProjectDependencies ¶
type ProjectDependencies interface { Project(ctx context.Context, path string, gitDir string, remote string, revision string) (*app.GitProject, error) PopulateFiles(ctx context.Context, proj *app.GitProject, upstream string) error CommitInfo(ctx context.Context, proj *app.GitProject, sha string) (*app.GitCommit, error) }
type ProjectInfo ¶
type ProjectInfo struct { ProjMap map[string]*project // Map project name to project FileCache map[string]*project // Map source files to project }
Project information containing a map of projects, this also contains a map between a source file and the project it belongs to allowing a quicker lookup of source file to project
type RepoDependencies ¶
type RepoDependencies interface {
Manifest(filename string) (*app.RepoManifest, error)
}
Click to show internal directories.
Click to hide internal directories.