Each Service Definition contains metadata (such as the Display Name & Website Categories) required in other parts of the codebase, for easier grouping.
This generator takes that metadata and uses it to generate two things:
Website Categories - which validates the categories used in the website exist, required for website deployments to happen.
Service Definitions - generates the list of services used to run the Acceptance Tests
GitHub Labels - generates the list of tags which should be assigned to a pull request when files within this path are changed.
This is run via go:generate whenever the "SupportedServices" array is changed so that this is kept up-to-date.
Example Usage
go run main.go -path=../../path/to/root-directory
Arguments
help - Show help?
path - The Relative Path to the root of the repository