pulumi/pkg/codegen
Brandon Pollack 49dbdbcafa Add the ability to generate aliased import prefixes to go generator.
Previously, if there were nested arguments in schemas, generation of go
code would simply use the go module name, but when imports are generated
they are potentially aliased to avoid naming conflicts.

This is taken into account at the top level since the aliases are
checked directly, but when traversing downward the argument types are generated
after conversions from the PCL schema data.

This fix adds an optional map to pkgContext that contains the go module
info, which contains the appropriate base path to check against aliases.
We also add aliases to the map that are generated by the import system
(and not just from other go package infos).
2024-09-30 17:11:00 +09:00
..
cgstrings Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
convert Have `Host.Provider` accept a `PackageDescriptor` (#17244) 2024-09-12 13:17:30 +00:00
docs Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
dotnet Add packageReferences feature flag (#17153) 2024-09-13 14:32:53 +00:00
gen_program_test all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
go Add the ability to generate aliased import prefixes to go generator. 2024-09-30 17:11:00 +09:00
hcl2 [go/conformance] Fix l2-resource-primitives test (#17332) 2024-09-26 05:15:38 +00:00
nodejs [sdk-gen/node/python] Bump minimum valid SDK to v3.134.1 so that output-invokes work and maintain secrets (#17390) 2024-09-26 17:45:27 +00:00
pcl Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
python [sdk-gen/node/python] Bump minimum valid SDK to v3.134.1 so that output-invokes work and maintain secrets (#17390) 2024-09-26 17:45:27 +00:00
report Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
schema [schema] Validate version is provided when package supports packing (#17420) 2024-09-28 23:56:17 +00:00
testing Add the ability to generate aliased import prefixes to go generator. 2024-09-30 17:11:00 +09:00
README.md Document code generation concepts (#17162) 2024-09-05 13:12:59 +00:00
docs.go Support "lifting" single-valued method returns to their return type (#8111) 2021-10-01 11:33:02 -07:00
docs_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
programs.md Document code generation concepts (#17162) 2024-09-05 13:12:59 +00:00
sdks.md Document code generation concepts (#17162) 2024-09-05 13:12:59 +00:00
utilities.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
utilities_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
utilities_types.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00

README.md

(codegen)= (crosscode)=

Code generation

Code generation is essential to Pulumi's ability to support both a variety of programming languages and a variety of cloud providers. This package defines the core components of Pulumi's code generation functionality (known as Pulumi CrossCode). At a high level, code generation is used to manage three categories of output: SDKs, programs, and documentation. At a lower level, these all make use of a number of shared concepts such as schema and Pulumi Configuration Language (PCL).

:::{toctree} :maxdepth: 1 :titlesonly:

/pkg/codegen/sdks.md /pkg/codegen/programs.md /pkg/codegen/docs/README /pkg/codegen/schema/README /pkg/codegen/pcl/README :::