Documentation
¶
Index ¶
- func FindModuleRoot(packageDir string) (string, error)
- func SourceSnapshot(dir string, roots []ModuleSource) ([32]byte, error)
- type CompatibilityContext
- func (c *CompatibilityContext) CheckDirectory(dir string, linked bool) error
- func (c *CompatibilityContext) CheckPackage(source PackageSource) error
- func (c *CompatibilityContext) CheckPackages(sources []PackageSource) error
- func (c *CompatibilityContext) DiagnosticDetails(metadata PackageMetadata) *diagnostic.LibraryCompatibilityDetails
- func (c *CompatibilityContext) EndAnalysis()
- func (c *CompatibilityContext) ForAnalysis() *CompatibilityContext
- func (c *CompatibilityContext) Manifest() []PackageMetadata
- func (c *CompatibilityContext) ModuleSources() []ModuleSource
- func (c *CompatibilityContext) SourceSnapshot(dir string) ([32]byte, error)
- func (c *CompatibilityContext) ValidateSources() error
- func (c *CompatibilityContext) WithModuleResolver(resolver func(string) (ModuleSource, error)) (*CompatibilityContext, error)
- func (c *CompatibilityContext) WithModules(modules []ModuleSource) (*CompatibilityContext, error)
- type CompatibilityDeclaration
- type CompatibilityError
- type CompatibilityErrorKind
- type CompatibilityOptions
- type ConfigurationSourceError
- type CoreDescriptorError
- type CoreFloorError
- type ModuleSource
- type PackageMetadata
- type PackageSource
- type ToolchainPinError
- type Validation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindModuleRoot ¶
func SourceSnapshot ¶ added in v0.12.0
func SourceSnapshot(dir string, roots []ModuleSource) ([32]byte, error)
Types ¶
type CompatibilityContext ¶ added in v0.12.0
type CompatibilityContext struct {
// contains filtered or unexported fields
}
CompatibilityContext checks eligibility before registration or schema reads.
func NewCompatibilityContext ¶ added in v0.12.0
func NewCompatibilityContext(options CompatibilityOptions) (*CompatibilityContext, error)
NewCompatibilityContext validates the descriptor and effective core replacement.
func (*CompatibilityContext) CheckDirectory ¶ added in v0.12.0
func (c *CompatibilityContext) CheckDirectory(dir string, linked bool) error
func (*CompatibilityContext) CheckPackage ¶ added in v0.12.0
func (c *CompatibilityContext) CheckPackage(source PackageSource) error
CheckPackage validates eligibility and configuration dependencies without executing Go.
func (*CompatibilityContext) CheckPackages ¶ added in v0.12.0
func (c *CompatibilityContext) CheckPackages(sources []PackageSource) error
CheckPackages inspects every selected package before deriving schemas or executing Go.
func (*CompatibilityContext) DiagnosticDetails ¶ added in v0.12.0
func (c *CompatibilityContext) DiagnosticDetails( metadata PackageMetadata, ) *diagnostic.LibraryCompatibilityDetails
func (*CompatibilityContext) EndAnalysis ¶ added in v0.12.0
func (c *CompatibilityContext) EndAnalysis()
EndAnalysis restores current-source checks for subsequent reads.
func (*CompatibilityContext) ForAnalysis ¶ added in v0.12.0
func (c *CompatibilityContext) ForAnalysis() *CompatibilityContext
ForAnalysis returns an independent context for one import analysis. Call ValidateSources before using the result and EndAnalysis before later reads.
func (*CompatibilityContext) Manifest ¶ added in v0.12.0
func (c *CompatibilityContext) Manifest() []PackageMetadata
Manifest returns independent metadata records in deterministic package order.
func (*CompatibilityContext) ModuleSources ¶ added in v0.12.0
func (c *CompatibilityContext) ModuleSources() []ModuleSource
func (*CompatibilityContext) SourceSnapshot ¶ added in v0.12.0
func (c *CompatibilityContext) SourceSnapshot(dir string) ([32]byte, error)
func (*CompatibilityContext) ValidateSources ¶ added in v0.12.0
func (c *CompatibilityContext) ValidateSources() error
ValidateSources checks the source revisions used by this analysis.
func (*CompatibilityContext) WithModuleResolver ¶ added in v0.12.0
func (c *CompatibilityContext) WithModuleResolver( resolver func(string) (ModuleSource, error), ) (*CompatibilityContext, error)
func (*CompatibilityContext) WithModules ¶ added in v0.12.0
func (c *CompatibilityContext) WithModules(modules []ModuleSource) (*CompatibilityContext, error)
type CompatibilityDeclaration ¶ added in v0.12.0
type CompatibilityDeclaration struct {
RequiredAPI string
SuggestedUnobinVersion string
Path string
Span *diagnostic.Span
RequiredAPISpan *diagnostic.Span
SuggestedUnobinVersionSpan *diagnostic.Span
}
func ReadCompatibility ¶ added in v0.12.0
func ReadCompatibility(moduleRoot, packageDir string) (*CompatibilityDeclaration, error)
type CompatibilityError ¶ added in v0.12.0
type CompatibilityError struct {
Kind CompatibilityErrorKind
// contains filtered or unexported fields
}
func (*CompatibilityError) Diagnostics ¶ added in v0.12.0
func (e *CompatibilityError) Diagnostics() []diagnostic.Diagnostic
func (*CompatibilityError) Error ¶ added in v0.12.0
func (e *CompatibilityError) Error() string
type CompatibilityErrorKind ¶ added in v0.12.0
type CompatibilityErrorKind uint8
const ( MissingDeclaration CompatibilityErrorKind = iota InvalidDeclaration UnsupportedField )
type CompatibilityOptions ¶ added in v0.12.0
type CompatibilityOptions struct {
Descriptor *libraryapi.Descriptor
UnobinVersion string
CoreReplacement string
ToolchainPin string
ProjectFile string
Modules []ModuleSource
ResolveModule func(string) (ModuleSource, error)
}
CompatibilityOptions supplies one operation's toolchain and selected sources.
type ConfigurationSourceError ¶ added in v0.12.0
ConfigurationSourceError identifies unavailable or unreadable configuration source.
func (*ConfigurationSourceError) Error ¶ added in v0.12.0
func (e *ConfigurationSourceError) Error() string
func (*ConfigurationSourceError) Unwrap ¶ added in v0.12.0
func (e *ConfigurationSourceError) Unwrap() error
type CoreDescriptorError ¶ added in v0.12.0
CoreDescriptorError identifies an unusable effective toolchain descriptor.
func (*CoreDescriptorError) Error ¶ added in v0.12.0
func (e *CoreDescriptorError) Error() string
func (*CoreDescriptorError) Unwrap ¶ added in v0.12.0
func (e *CoreDescriptorError) Unwrap() error
type CoreFloorError ¶ added in v0.12.0
CoreFloorError identifies a linked module requiring a newer core release.
func (*CoreFloorError) Error ¶ added in v0.12.0
func (e *CoreFloorError) Error() string
type ModuleSource ¶ added in v0.12.0
type ModuleSource struct {
Path string
Dir string
Dependency string
Version string
Commit string
Replacement string
}
ModuleSource identifies a selected Go module and its effective source.
func ModuleSourceAt ¶ added in v0.12.0
func ModuleSourceAt(dir string) (ModuleSource, error)
type PackageMetadata ¶ added in v0.12.0
type PackageMetadata struct {
Source PackageSource
Package string
Declaration CompatibilityDeclaration
RequiredCoreVersion string
MinimumGoVersion string
HasConfigurationEntryPoint bool
}
PackageMetadata records the declaration and module requirements used by a check.
type PackageSource ¶ added in v0.12.0
type PackageSource struct {
Module ModuleSource
Dir string
Linked bool
}
PackageSource identifies an inspected package and whether the build links it.
type ToolchainPinError ¶ added in v0.12.0
func (*ToolchainPinError) Error ¶ added in v0.12.0
func (e *ToolchainPinError) Error() string
type Validation ¶
type Validation struct {
ModulePath string
PackageName string
HasResources bool
HasData bool
HasActions bool
HasFunctions bool
HasConfiguration bool
}
func ValidatePackage ¶
func ValidatePackage(moduleRoot, packageDir string) (*Validation, error)