Documentation ¶
Overview ¶
Package compile compiles FTL Go module source into a deployable executable.
Index ¶
- func Build(ctx context.Context, moduleDir string, sch *schema.Schema, ...) (err error)
- func ExtractModuleSchema(dir string) (optional.Option[ParseResult], error)
- func GenerateStubsForExternalLibrary(ctx context.Context, dir string, schema *schema.Schema) error
- type ExternalModuleContext
- type ModifyFilesTransaction
- type NativeNames
- type ParseResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Build ¶ added in v0.96.0
func Build(ctx context.Context, moduleDir string, sch *schema.Schema, filesTransaction ModifyFilesTransaction) (err error)
Build the given module.
func ExtractModuleSchema ¶
func ExtractModuleSchema(dir string) (optional.Option[ParseResult], error)
ExtractModuleSchema statically parses Go FTL module source into a schema.Module.
Types ¶
type ExternalModuleContext ¶ added in v0.155.0
type ExternalModuleContext struct { ModuleDir string *schema.Schema GoVersion string FTLVersion string Main string Replacements []*modfile.Replace }
func (ExternalModuleContext) NonMainModules ¶ added in v0.155.0
func (b ExternalModuleContext) NonMainModules() []*schema.Module
type ModifyFilesTransaction ¶ added in v0.182.2
type NativeNames ¶ added in v0.119.1
NativeNames is a map of top-level declarations to their native Go names.
type ParseResult ¶ added in v0.197.0
type ParseResult struct { Module *schema.Module NativeNames NativeNames // EnumRefs contains any external enums referenced by this module. The refs will be resolved and any type enums // will be registered to the `ftl.TypeRegistry` and provided in the context for this module. EnumRefs []*schema.Ref // Errors contains schema validation errors encountered during parsing. Errors []*schema.Error }
Click to show internal directories.
Click to hide internal directories.