Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckLibraryFile ¶
func CheckLibraryFile(file *syntax.LibraryFile, opts Options) error
CheckLibraryFile checks every exported composite body in file.
Types ¶
type ImportAnalysis ¶
type ImportAnalysis struct {
Top []resolve.Resolution
Libraries map[string]*runtime.Library
LibraryConfigSchemas map[string]runtime.LibraryConfigSchema
GoImports map[string]string
GoModules map[string]string
UBImports map[string]string
UBPackages map[string][]byte
Assets *asset.Collection
RootAssetSetID string
}
ImportAnalysis is the resolved import data shared by source checks, compile, and graph printing.
func AnalyzeImports ¶
func AnalyzeImports( refs map[string]resolve.ImportRef, opts ImportAnalysisOptions, ) (*ImportAnalysis, error)
AnalyzeImports resolves refs once and builds the data each caller needs.
type ImportAnalysisOptions ¶
type ImportAnalysisOptions struct {
ProjectDir string
Source *resolve.Source
Resolver resolve.Resolver
Versions map[string]string
SchemaCache *SchemaCache
Reporter diagnostic.Reporter
Mode Mode
StackName string
GeneratePackages bool
ValidateCompositeBodies bool
Body *syntax.FactoryBody
RootSourceFile syntax.SourceFileSpec
GeneratedOutputPath string
}
ImportAnalysisOptions configures AnalyzeImports.
type Options ¶
type Options struct {
ProjectDir string
Source *resolve.Source
RootSourceFile syntax.SourceFileSpec
Resolver resolve.Resolver
Versions map[string]string
SchemaCache *SchemaCache
Reporter diagnostic.Reporter
Mode Mode
}
Options configures source checks.
type Result ¶
type Result struct {
Libraries map[string]*runtime.Library
LibraryConfigSchemas map[string]runtime.LibraryConfigSchema
DAG *runtime.DAG
}
Result is the source-check result for a factory or composite body.
func CheckFactoryBody ¶
func CheckFactoryBody(body syntax.FactoryBody, opts Options) (*Result, error)
CheckFactoryBody resolves imports and runs compile-time checks for body.
type SchemaCache ¶
type SchemaCache struct {
// contains filtered or unexported fields
}
SchemaCache memoizes Go library schema reads by source path.
func NewSchemaCache ¶
func NewSchemaCache(extra ...goschema.ModuleRoot) *SchemaCache
NewSchemaCache returns a cache that reads Go source with extra module roots.
func NewSchemaCacheWithReader ¶
func NewSchemaCacheWithReader( read func(sourcePath string) (*runtime.LibrarySchema, []string, error), ) *SchemaCache
NewSchemaCacheWithReader returns a cache that reads Go schemas through read.
func NewSchemaCacheWithReaders ¶ added in v0.10.0
func NewSchemaCacheWithReaders( read func(sourcePath string) (*runtime.LibrarySchema, []string, error), readConfiguration func(sourcePath string) (*runtime.LibrarySchema, []string, error), ) *SchemaCache
NewSchemaCacheWithReaders returns a cache with separate readers for full libraries and config-schema packages.
func (*SchemaCache) Read ¶
func (c *SchemaCache) Read(sourcePath string) (*runtime.LibrarySchema, []string, error)
Read returns the schema and warnings for sourcePath, reading it once.
func (*SchemaCache) ReadLibraryConfiguration ¶ added in v0.10.0
func (c *SchemaCache) ReadLibraryConfiguration( sourcePath string, ) (*runtime.LibrarySchema, []string, error)
ReadLibraryConfiguration returns the config schema for sourcePath.