compile

package
v0.261.0 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2024 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Overview

Package compile compiles FTL Go module source into a deployable executable.

Index

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, sch *schema.Schema) (extract.Result, error)

ExtractModuleSchema statically parses Go FTL module source into a schema.Module

TODO: once migrated off of the legacy extractor, we can inline `extract.Extract(dir)` and delete this function

func GenerateStubsForExternalLibrary added in v0.155.0

func GenerateStubsForExternalLibrary(ctx context.Context, dir string, schema *schema.Schema) error

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 ModifyFilesTransaction interface {
	Begin() error
	ModifiedFiles(paths ...string) error
	End() error
}

type NativeNames added in v0.119.1

type NativeNames map[schema.Node]string

NativeNames is a map of top-level declarations to their native Go names.

Jump to

Keyboard shortcuts

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