Commit Graph

59 Commits

Author SHA1 Message Date
Adrien Delorme 078ba7c8c3 commit old code generation tool
for history
2019-10-15 12:56:42 +02:00
Adrien Delorme 0eb9090dcf Create mapstructure-to-hcl2.go
mapstructure-to-hcl2 fills the gaps between hcl2 and mapstructure for Packer

By generating a struct that the HCL2 ecosystem understands making use of
mapstructure tags.

Packer heavily uses the mapstructure decoding library to load/parse user
config files. Packer now needs to move to HCL2.

Here are a few differences/gaps betweens hcl2 and mapstructure:

 * in HCL2 all basic struct fields (string/int/struct) that are not pointers
  are required ( must be set ). In mapstructure everything is optional.

 * mapstructure allows to 'squash' fields
 (ex: Field CommonStructType `mapstructure:",squash"`) this allows to
 decorate structs and reuse configuration code. HCL2 parsing libs don't have
 anything similar.

mapstructure-to-hcl2 will parse Packer's config files and generate the HCL2
compliant code that will allow to not change any of the current builders in
order to move to HCL2 to softly move to HCL2.
2019-10-15 12:56:42 +02:00
Adrien Delorme 0fe48691e8 ignore doc fields containing `TODO` 2019-08-27 13:55:00 +02:00
Adrien Delorme ec52f36af1 docs: escape pointer (*) parameters `*` => `\*`
so that we don't get weird italics there and there
2019-08-27 13:30:50 +02:00
Adrien Delorme 349c3ef74b cmd/struct-markdown: also generate docs from header comments of a struct
& generate it for ISOConfig
2019-06-12 16:25:08 +02:00
Adrien Delorme 4ae10f08b2 docs: generate builders partials from struct comments 2019-06-06 17:34:17 +02:00
Adrien Delorme f1917edd34 generate the comments for config struct of builders scraping doc website 2019-06-05 16:42:17 +02:00
Adrien Delorme c7808aaf1f do things locally 2019-06-05 16:41:20 +02:00
Adrien Delorme 31b66a63b1 scrape builder docs from https://www.packer.io/docs/
in order to get what is required and what is not.
2019-06-05 16:41:20 +02:00