jexia/semaphore

refactor pkg/specs/template into pkg/specs

veger opened this issue · 0 comments

veger commented

pkg/specs/template and pkg/specs are tightly coupled (for some miracle template only uses specs and not the other way around as well to get a circular dependency). For unknown reasons they got split into the separate packages by #83 (even looks unrelated to the PR description title).

  • specs.Template and specs.PropertyReference should typically live in the template package, but moving them is impossible (circular dependency).
  • hcl.ParseTemplateProperty() (introduced in #191) should typically move to specs package, but it would also introduce the circular dependency.

So it seems to be best to move template (back) into specs and clean up the issues described above and fix these TODOs related to ParseTemplateProperty():