golibrary

package
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindModuleRoot

func FindModuleRoot(packageDir string) (string, error)

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 (*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

type ConfigurationSourceError struct {
	Message string
	Cause   error
}

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

type CoreDescriptorError struct {
	Path    string
	Message string
	Cause   error
}

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

type CoreFloorError struct {
	RequiredVersion string
	UnobinVersion   string
}

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

type ToolchainPinError struct {
	Pin           string
	UnobinVersion string
}

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL