What are the dependencies required for go generate
to generate the HCL2 code for plugins?
I’m working to develop a custom plugin & trying to work with the code generator as described in the hcl guide here but getting errors
Examples show generators implemented with:
//go:generate packer-sdc struct-markdown
//go:generate packer-sdc mapstructure-to-hcl2 -type Config
go generate
is giving me errors finding the executables (exec: "packer-sdc": executable file not found in $PATH
) and I haven’t managed to find any bin directory or binarys associated with packer-sdc or struct-markdown
Similar unanswered question from 2 years ago
Hi @mlindes,
If you have started your plugin from our scaffolding template project (GitHub - hashicorp/packer-plugin-scaffolding: Quick start repository for creating a Packer plugin.), you should have access to the Makefile
that is delivered with it.
If so, invoking make generate
will in turn cause the install-packer-sdc
target to execute, installing the packer-sdc
command through go install
.
When that’s done, you should be able to generate the hcl2spec.go
files that are required for HCL2 compatibility.
Hope that helps!
Ah. No I did not use that. I’ll check it out.
Looks like that Makefile has the key line
go install github.com/hashicorp/packer-plugin-sdk/cmd/packer-sdc@${HASHICORP_PACKER_PLUGIN_SDK_VERSION}
Also important is to add the go/bin directory to my path… there may be a few - like:
export PATH=$PATH:/<user>/go/bin