Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions cmd/pkl-gen-go/generatorsettings/GeneratorSettings.pkl.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cmd/pkl-gen-go/pkg/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ var (
)

type TemplateValues struct {
generatorsettings.GeneratorSettings
PklModulePath string
generatorsettings.GeneratorSettings
}

func determineBasePath(v *generatorsettings.GeneratorSettings) error {
Expand Down
4 changes: 2 additions & 2 deletions pkl/evaluator.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ type Evaluator interface {
}

type evaluator struct {
evaluatorId int64
logger Logger
manager *evaluatorManager
pendingRequests *sync.Map
closed bool
resourceReaders []ResourceReader
moduleReaders []ModuleReader
evaluatorId int64
closed bool
}

var _ Evaluator = (*evaluator)(nil)
Expand Down
14 changes: 7 additions & 7 deletions pkl/evaluator_manager_exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,15 @@ func NewEvaluatorManagerWithCommand(pklCommand []string) EvaluatorManager {
}

type execEvaluator struct {
cmd *exec.Cmd
in chan msgapi.IncomingMessage
out chan msgapi.OutgoingMessage
closed chan error
// exited is a flag that indicates evaluator was closed explicitly
exited atomicBool
cmd *exec.Cmd
in chan msgapi.IncomingMessage
out chan msgapi.OutgoingMessage
closed chan error
version *internal.Semver
pklCommand []string
processDone chan struct{}
pklCommand []string
// exited is a flag that indicates evaluator was closed explicitly
exited atomicBool
}

func (e *execEvaluator) inChan() chan msgapi.IncomingMessage {
Expand Down
106 changes: 53 additions & 53 deletions pkl/evaluator_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,39 @@ import (

// EvaluatorOptions is the set of options available to control Pkl evaluation.
type EvaluatorOptions struct {

// Logger is the logging interface for messages emitted by the Pkl evaluator.
Logger Logger

// Properties is the set of properties available to the `prop:` resource reader.
Properties map[string]string

// Env is the set of environment variables available to the `env:` resource reader.
Env map[string]string

// ModulePaths is the set of directories, ZIP archives, or JAR archives to search when
// resolving `modulepath`: resources and modules.
// DeclaredProjectDependencies is set of dependencies available to modules within ProjectBaseURI.
//
// This option must be non-emptyMirror if ModuleReaderModulePath or ResourceModulePath are used.
ModulePaths []string
// When importing dependencies, a PklProject.deps.json file must exist within ProjectBaseURI
// that contains the project's resolved dependencies.
DeclaredProjectDependencies *ProjectDependencies

// Logger is the logging interface for messages emitted by the Pkl evaluator.
Logger Logger
// Settings for controlling how Pkl talks over HTTP(S).
//
// Added in Pkl 0.26.
// If the underlying Pkl does not support HTTP options, NewEvaluator will return with an error.
Http *Http

// ExternalModuleReaders registers external commands that implement module reader schemes.
//
// Added in Pkl 0.27.
// If the underlying Pkl does not support external readers, evaluation will fail when a registered scheme is used.
ExternalModuleReaders map[string]ExternalReader

// ExternalResourceReaders registers external commands that implement resource reader schemes.
//
// Added in Pkl 0.27.
// If the underlying Pkl does not support external readers, evaluation will fail when a registered scheme is used.
ExternalResourceReaders map[string]ExternalReader

// OutputFormat controls the renderer to be used when rendering the `output.text`
// property of a module.
Expand All @@ -60,24 +79,6 @@ type EvaluatorOptions struct {
// - `"pkl-binary"`
OutputFormat string

// AllowedModules defines URI patterns that determine which modules are permitted to be loaded and evaluated.
// Patterns are regular expressions in the dialect understood by [java.util.regex.Pattern].
//
// [java.util.regex.Pattern]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
AllowedModules []string

// AllowedResources defines URI patterns that determine which resources are permitted to be loaded and evaluated.
// Patterns are regular expressions in the dialect understood by [java.util.regex.Pattern].
//
// [java.util.regex.Pattern]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
AllowedResources []string

// ResourceReaders are the resource readers to be used by the evaluator.
ResourceReaders []ResourceReader

// ModuleReaders are the set of custom module readers to be used by the evaluator.
ModuleReaders []ModuleReader

// CacheDir is the directory where `package:` modules are cached.
//
// If empty, no caching is performed.
Expand Down Expand Up @@ -109,35 +110,35 @@ type EvaluatorOptions struct {
// or EvaluatorManager.NewProjectEvaluator.
ProjectBaseURI string

// DeclaredProjectDependencies is set of dependencies available to modules within ProjectBaseURI.
// TraceMode dictates how Pkl will format messages logged by `trace()`.
//
// When importing dependencies, a PklProject.deps.json file must exist within ProjectBaseURI
// that contains the project's resolved dependencies.
DeclaredProjectDependencies *ProjectDependencies
// Added in Pkl 0.30.
// If the underlying Pkl does not support trace modes, this option will be ignored.
TraceMode TraceMode

// Settings for controlling how Pkl talks over HTTP(S).
// ModulePaths is the set of directories, ZIP archives, or JAR archives to search when
// resolving `modulepath`: resources and modules.
//
// Added in Pkl 0.26.
// If the underlying Pkl does not support HTTP options, NewEvaluator will return with an error.
Http *Http
// This option must be non-emptyMirror if ModuleReaderModulePath or ResourceModulePath are used.
ModulePaths []string

// ExternalModuleReaders registers external commands that implement module reader schemes.
// AllowedModules defines URI patterns that determine which modules are permitted to be loaded and evaluated.
// Patterns are regular expressions in the dialect understood by [java.util.regex.Pattern].
//
// Added in Pkl 0.27.
// If the underlying Pkl does not support external readers, evaluation will fail when a registered scheme is used.
ExternalModuleReaders map[string]ExternalReader
// [java.util.regex.Pattern]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
AllowedModules []string

// ExternalResourceReaders registers external commands that implement resource reader schemes.
// AllowedResources defines URI patterns that determine which resources are permitted to be loaded and evaluated.
// Patterns are regular expressions in the dialect understood by [java.util.regex.Pattern].
//
// Added in Pkl 0.27.
// If the underlying Pkl does not support external readers, evaluation will fail when a registered scheme is used.
ExternalResourceReaders map[string]ExternalReader
// [java.util.regex.Pattern]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
AllowedResources []string

// TraceMode dictates how Pkl will format messages logged by `trace()`.
//
// Added in Pkl 0.30.
// If the underlying Pkl does not support trace modes, this option will be ignored.
TraceMode TraceMode
// ResourceReaders are the resource readers to be used by the evaluator.
ResourceReaders []ResourceReader

// ModuleReaders are the set of custom module readers to be used by the evaluator.
ModuleReaders []ModuleReader
}

type TraceMode string
Expand All @@ -150,8 +151,8 @@ const (
)

type ProjectRemoteDependency struct {
PackageUri string `pkl:"uri"`
Checksums *Checksums `pkl:"checksums"`
PackageUri string `pkl:"uri"`
}

func (dep *ProjectRemoteDependency) toMessage() *msgapi.ProjectOrDependency {
Expand All @@ -174,11 +175,10 @@ func (checksums *Checksums) toMessage() *msgapi.Checksums {
}

type ProjectLocalDependency struct {
PackageUri string
Dependencies *ProjectDependencies
PackageUri string

ProjectFileUri string

Dependencies *ProjectDependencies
}

func (dep *ProjectLocalDependency) toMessage() *msgapi.ProjectOrDependency {
Expand Down Expand Up @@ -211,10 +211,6 @@ func (p *ProjectDependencies) toMessage() map[string]*msgapi.ProjectOrDependency
}

type Http struct {
// PEM format certificates to trust when making HTTP requests.
//
// If empty, Pkl will trust its own built-in certificates.
CaCertificates []byte

// Configuration of the HTTP proxy to use.
//
Expand All @@ -237,6 +233,10 @@ type Http struct {
// "https://example.com/": "https://my.other.website/"
// }
Rewrites map[string]string
// PEM format certificates to trust when making HTTP requests.
//
// If empty, Pkl will trust its own built-in certificates.
CaCertificates []byte
}

func (http *Http) toMessage() *msgapi.Http {
Expand Down
2 changes: 1 addition & 1 deletion pkl/external_reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,10 @@ func NewExternalReaderClient(opts ...func(options *ExternalReaderClientOptions))
}

type externalReaderClient struct {
ExternalReaderClientOptions
in chan msgapi.IncomingMessage
out chan msgapi.OutgoingMessage
closed chan error
ExternalReaderClientOptions
exited atomicBool
}

Expand Down
Loading