logging and client, context utils

This commit is contained in:
2024-11-16 14:02:46 -05:00
parent 46fa5ea6bf
commit 9af155dbde
15 changed files with 405 additions and 85 deletions

View File

@ -1,39 +1,23 @@
APP_NAME := eia-api-go
SCHEMA_JSON := schema/eia-api-oapi.json
SCHEMA_DIR := schema
GENERATED_DIR := generated
# Variables
CLIENT_PKG := ./cmd/eia-client
# Default rule
all: build
.PHONY: all generate build install clean
# Retrieve and prepare the schema
schema:
mkdir -p $(SCHEMA_DIR)
# if [ -f $(SCHEMA_JSON) ]; then rm -f $(SCHEMA_JSON); fi
# curl -o $(SCHEMA_DIR)/eia-api-swagger.zip https://www.eia.gov/opendata/eia-api-swagger.zip
# unzip -o $(SCHEMA_DIR)/eia-api-swagger.zip -d $(SCHEMA_DIR)
# Default target
all: generate build
# Generate the Go client using Swagger Codegen
generate: schema
mkdir -p $(GENERATED_DIR)
docker run --rm \
-v ${PWD}:/local \
swaggerapi/swagger-codegen-cli-v3:latest generate \
-i /local/$(SCHEMA_JSON) \
-l go \
-o /local/$(GENERATED_DIR)
# Generate code
generate:
go generate ./...
# Build the application
build:
go build -o $(APP_NAME)
# Build the client command binary
build: generate
go build -o bin/eia-client $(CLIENT_PKG)
# Install the application
install:
go install ./...
# Install the client command binary
install: generate
go install $(CLIENT_PKG)
# Clean generated code
# Clean up generated files and build artifacts
clean:
rm -rf $(GENERATED_DIR)
rm -rf $(SCHEMA_DIR)
.PHONY: all schema generate build install clean
rm -rf bin/eia-client