logging and client, context utils
This commit is contained in:
48
Makefile
48
Makefile
@ -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
|
||||
|
Reference in New Issue
Block a user