Search code examples
gohcl

How to pre-check and set variable before compiling on Go?


I'm going to pre-check HCL contents and set it as a variable in golang. i.e. HCL contents should be parsed before compilation and set as a specific variable.

Here is the example.

.
├── config.mel
└── main.go

The config.mel has the following HCL strings.

types {
    directory = "string"
    listen = "ipaddr"
}

The main.go has the following lines:

package main

import (
     "github.com/hashicorp/hcl"
)

func main() {
    hcl.Parse(HCL_CONTENTS)
}

Is there any method to set HCL_CONTENTS variable before compilation?


Solution

  • You can use go generate to accomplish this, if you can build a command to create the code you want.