Documentation ¶
Index ¶
- type BuildInfo
- type Context
- func (c *Context) IsDir(path string) bool
- func (c *Context) OpenFile(file string) (io.ReadCloser, error)
- func (c *Context) PkgOverlay() map[string][]byte
- func (c *Context) ReadDir(dir string) ([]fs.DirEntry, error)
- func (c *Context) ReadFile(dir string) ([]byte, error)
- func (c *Context) ReadFileInfo(dir string) ([]fs.FileInfo, error)
- func (c *Context) Trace(op string, kvs ...any) *TraceLogger
- type OverlaidOSFS
- type TraceLogger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildInfo ¶
type BuildInfo struct { GOARCH string // target architecture GOOS string // target operating system GOROOT paths.FS // GOROOT to use EncoreRuntime paths.FS // Encore runtime to use BuildTags []string // additional build tags to set CgoEnabled bool // Experiments are the enabled experiments. Experiments *experiments.Set // StaticLink enables static linking of C libraries. StaticLink bool // Debug enables compiling in debug mode. Debug builder.DebugMode // Revision specifies the revision of the build. Revision string // UncommittedChanges, if true, specifies there are uncommitted changes // part of the build . UncommittedChanges bool // MainPkg is the existing main package to use, if any. // If None a main package is generated. MainPkg option.Option[paths.Pkg] }
BuildInfo represents the information needed to parse and build an Encore application.
type Context ¶
type Context struct { // AppID is a unique id of the application, used for workdir caching. // If left empty, a random workdir is used. AppID option.Option[string] // Ctx provides cancellation. Ctx context.Context // Log is the configured logger. Log zerolog.Logger // Build controls what files to build. Build BuildInfo // MainModuleDir is the directory containing the main module. MainModuleDir paths.FS // FS holds the fileset used for parsing. FS *token.FileSet // ParseTests controls whether to parse test files. ParseTests bool // Errs contains encountered errors. Errs *perr.List // Overlay is an optional replacement for reading files using the os pkg. // If unset, os is used instead. Overlay OverlaidOSFS }
Context holds all the context for parsing.
func (*Context) OpenFile ¶ added in v1.35.3
func (c *Context) OpenFile(file string) (io.ReadCloser, error)
func (*Context) PkgOverlay ¶ added in v1.35.3
func (*Context) ReadFileInfo ¶ added in v1.35.3
func (*Context) Trace ¶
func (c *Context) Trace(op string, kvs ...any) *TraceLogger
Trace traces the execution of a function. It emits trace-level log messages, using the given message and key-value pairs. It returns the logger for logging additional information during the processing.
Usage:
tr := ctx.Trace("operation-name", "key", value) // ... invoke tr.Emit(...) to log additional information defer tr.Done()
type OverlaidOSFS ¶ added in v1.35.3
type OverlaidOSFS interface { ReadDir(name string) ([]os.DirEntry, error) ReadFile(name string) ([]byte, error) Stat(name string) (os.FileInfo, error) Open(name string) (io.ReadCloser, error) PkgOverlay() map[string][]byte }
OverlaidOSFS is an interface that allows overlaying the os package with custom implementations. This is used to allow for e.g. in-memory files. The name parameters are os paths, like the corresponding methods in the os package.
type TraceLogger ¶
type TraceLogger struct {
// contains filtered or unexported fields
}
func (*TraceLogger) Done ¶
func (t *TraceLogger) Done(kvs ...any)
func (*TraceLogger) Emit ¶
func (t *TraceLogger) Emit(msg string, kvs ...any)
Click to show internal directories.
Click to hide internal directories.