generatorsettings

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Code generated from Pkl module `pkl.golang.GeneratorSettings`. DO NOT EDIT.

Code generated from Pkl module `pkl.golang.GeneratorSettings`. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GeneratorSettings

type GeneratorSettings struct {
	// Mapping of Pkl module names to their respective Go package name.
	//
	// Example:
	//
	// “`
	// packageMappings {
	//   ["name.of.my.Module"] = "github.com/myteam/myorg/foo"
	// }
	// “`
	PackageMappings map[string]string `pkl:"packageMappings"`

	// The base path for module output.
	//
	// This determines the relative path that generated Go source code will be written to.
	// For example, a base path of `"github.com/foo/bar"` means that the Go files for package
	// `github.com/foo/bar/baz` will be written into a `baz` directory, relative to the current
	// working directory where codegen is executed.
	//
	// Any Go packages that are not prefixed with [basePath] are skipped from code generation.
	//
	// This is typically a Go module's name, i.e. the `module` clause within a `go.mod` file.
	//
	// If empty, writes the full package path to the current directory.
	BasePath string `pkl:"basePath"`

	// Additional struct tags to place on all properties.
	//
	// In addition to these tags, every property implicitly receives a `pkl:` struct tag.
	//
	// The placeholder `%{name}` gets substituted with the name of the Pkl property.
	//
	// Struct tags can also be configured on a per-property basis using the [go.Field] annotation.
	//
	// Example:
	//
	// “`pkl
	// structTags {
	//   ["json"] = "%{name},omitempty"
	// }
	// “`
	StructTags map[string]string `pkl:"structTags"`

	// The path to the Pkl code generator script.
	//
	// This is an internal setting that is used for testing purposes when developing the code
	// generator.
	GeneratorScriptPath string `pkl:"generatorScriptPath"`

	// URI patterns that determine which modules can be loaded and evaluated.
	//
	// This corresponds to the `--allowed-modules` flag in the Pkl CLI.
	AllowedModules []string `pkl:"allowedModules"`

	// URI patterns that determine which external resources can be read.
	//
	// This corresponds to the `--allowed-resources` flag in the Pkl CLI.
	AllowedResources []string `pkl:"allowedResources"`

	// The project directory to control dependency and evaluator settings during codegen.
	//
	// This corresponds to the `--project-dir` flag in the Pkl CLI.
	// Relative paths are resolved against the enclosing file.
	ProjectDir *string `pkl:"projectDir"`

	// The cache directory for storing packages.
	//
	// This corresponds to the `--cache-dir` flag in the Pkl CLI.
	CacheDir *string `pkl:"cacheDir"`

	// Print out the names of the files that will be generated, but skip writing anything to disk.
	DryRun bool `pkl:"dryRun"`

	// The URI of this module, used to resolve [projectDir].
	Uri string `pkl:"uri"`
}

Settings to configure Go code generation for Pkl files.

func Load

func Load(ctx context.Context, evaluator pkl.Evaluator, source *pkl.ModuleSource) (*GeneratorSettings, error)

Load loads the pkl module at the given source and evaluates it with the given evaluator into a GeneratorSettings

func LoadFromPath

func LoadFromPath(ctx context.Context, path string) (ret *GeneratorSettings, err error)

LoadFromPath loads the pkl module at the given path and evaluates it into a GeneratorSettings

Jump to

Keyboard shortcuts

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