Categorygithub.com/apple/pkl-go-examples
module
0.0.0-20240320142941-25085cf5075d
Repository: https://github.com/apple/pkl-go-examples.git
Documentation: pkg.go.dev

# README

== pkl-go-examples

This is a sample project that demonstrates Pkl <> Go integration.

This is a basic HTTP server that is configured via Pkl in the pkl/ directory.

=== Requirements

  • Go >=1.18
  • Pkl >=0.25.0

=== Project structure

[cols=",",options="header",] |=== |Directory |Description |pkl/ |Pkl configuration sources |gen/ |Generated Go sources from Pkl |internal/ |Internal Go files |cmd/ |Server entrypoint |scripts/ |Scripts directory |===

=== Codegen

To generate new Pkl sources for the AppConfig module, first install the Go code generator:

[source,bash]

go install github.com/apple/pkl-go/cmd/pkl-gen-go@latest

With that installed, generate Go sources via:

[source,bash]

pkl-gen-go pkl/AppConfig.pkl

The code generator detects that the Go package for AppConfig is github.com/apple/pkl-go-examples/gen/appconfig, and the Go module name is github.com/apple/pkl-go-examples (via the go.mod file), and therefore places generated sources in gen/appconfig.

# Packages

===----------------------------------------------------------------------===// Copyright © 2024 Apple Inc.
No description provided by the author