compile

package
v0.285.2 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2024 License: Apache-2.0 Imports: 41 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, projectRootDir, moduleDir string, sch *schema.Schema, filesTransaction ModifyFilesTransaction) (err error)

Build the given module.

func CleanStubs added in v0.281.2

func CleanStubs(ctx context.Context, projectRoot string) error

CleanStubs removes all generated stubs.

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 GenerateStubsForModules added in v0.277.2

func GenerateStubsForModules(ctx context.Context, projectRoot string, moduleConfigs []moduleconfig.ModuleConfig, sch *schema.Schema) error

GenerateStubsForModules generates stubs for all modules in the schema.

func SyncGeneratedStubReferences added in v0.285.2

func SyncGeneratedStubReferences(ctx context.Context, projectRootDir string, stubbedModules []string, moduleConfigs []moduleconfig.ModuleConfig) error

Types

type ExternalModuleContext added in v0.155.0

type ExternalModuleContext struct {
	*schema.Schema
	GoVersion    string
	FTLVersion   string
	Module       *schema.Module
	Replacements []*modfile.Replace
}

type MainWorkContext added in v0.277.2

type MainWorkContext struct {
	GoVersion          string
	SharedModulesPaths []string
}

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