Documentation
¶
Index ¶
- func CheckLibraryFile(file *syntax.LibraryFile, opts Options) error
- func CheckUBLibrary(source *resolve.Source, opts Options) error
- type ImportAnalysis
- type ImportAnalysisOptions
- type Mode
- type Options
- type Result
- type SchemaCache
- func NewSchemaCache(extra ...goschema.ModuleRoot) *SchemaCache
- func NewSchemaCacheWithCompatibility(compatibility *golibrary.CompatibilityContext, extra ...goschema.ModuleRoot) *SchemaCache
- func NewSchemaCacheWithReader(read func(sourcePath string) (*runtime.LibrarySchema, []string, error)) *SchemaCache
- func NewSchemaCacheWithReaders(read func(sourcePath string) (*runtime.LibrarySchema, []string, error), ...) *SchemaCache
- func NewSchemaCacheWithReadersAndCompatibility(compatibility *golibrary.CompatibilityContext, ...) *SchemaCache
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
Compatibility *golibrary.CompatibilityContext
LibraryMetadata []golibrary.PackageMetadata
}
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
Compatibility *golibrary.CompatibilityContext
}
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 NewSchemaCacheWithCompatibility ¶
func NewSchemaCacheWithCompatibility( compatibility *golibrary.CompatibilityContext, extra ...goschema.ModuleRoot, ) *SchemaCache
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), extra ...goschema.ModuleRoot, ) *SchemaCache
NewSchemaCacheWithReaders returns a cache with separate readers for full libraries and config-schema packages.
func NewSchemaCacheWithReadersAndCompatibility ¶
func NewSchemaCacheWithReadersAndCompatibility( compatibility *golibrary.CompatibilityContext, read func(string) (*runtime.LibrarySchema, []string, error), readConfiguration func(string) (*runtime.LibrarySchema, []string, error), extra ...goschema.ModuleRoot, ) *SchemaCache
func (*SchemaCache) CompatibilityContext ¶
func (c *SchemaCache) CompatibilityContext() *golibrary.CompatibilityContext
func (*SchemaCache) Read ¶
func (c *SchemaCache) Read(sourcePath string) (*runtime.LibrarySchema, []string, error)
Read returns the schema and warnings for the current source contents.
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.