Add pretty printing, complete Makefile

This commit is contained in:
2024-11-27 16:06:30 -05:00
parent 8ba2caa16d
commit 4dc24d9961
8 changed files with 271 additions and 173 deletions

View File

@ -1,14 +1,31 @@
# Variables
SCHEMA_DIR := ./schema
SCHEMA_ZIP := eia-api-swagger.zip
SCHEMA_YML := eia-api-swagger.yaml
CLIENT_PKG := ./cmd/eia-client
CLIENT_GEN_FILE := ./api/eiaapi.gen.go
MAPPER_GEN_FILE := ./api/eiaapi_funcmap.gen.go
GO_FORMATTER := gofumpt
IS_GNU_SED := $(shell sed --version >/dev/null 2>&1 && echo true || echo false)
.PHONY: all generate build install clean
IS_GNU_SED := $(shell sed --version >/dev/null 2>&1 && echo true || echo false)
SED_INLINE := $(if $(IS_GNU_SED),-i '',-i)
.PHONY: all schema generate build install clean
# Default target
all: generate build
all: schema generate build
# Retrieve and prepare schema
schema:
curl https://www.eia.gov/opendata/$(SCHEMA_ZIP) -o $(SCHEMA_DIR)/$(SCHEMA_ZIP)
unzip -o $(SCHEMA_DIR)/$(SCHEMA_ZIP) -d $(SCHEMA_DIR)
sed -E $(SED_INLINE) 's/responses\/data/schemas\/DataResponseContainer/g' $(SCHEMA_DIR)/$(SCHEMA_YML)
sed -E $(SED_INLINE) 's/responses\/route/schemas\/RouteResponseContainer/g' $(SCHEMA_DIR)/$(SCHEMA_YML)
sed -E $(SED_INLINE) 's/responses\/facets/schemas\/FacetOptionListContainer/g' $(SCHEMA_DIR)/$(SCHEMA_YML)
sed -E $(SED_INLINE) 's/responses\/facet/schemas\/FacetDetailsContainer/g' $(SCHEMA_DIR)/$(SCHEMA_YML)
sed -E $(SED_INLINE) 's/responses\/final-route/schemas\/FinalRouteResponse/g' $(SCHEMA_DIR)/$(SCHEMA_YML)
sed -E $(SED_INLINE) 's/[[:space:]]+Frequency:/ Frequency:\n x-go-name: FrequencyObject/g' $(SCHEMA_DIR)/$(SCHEMA_YML)
# Generate code
generate: