Files
AstroJS/mk/resolver-go.mk
T
2026-06-12 13:05:32 +08:00

47 lines
1.3 KiB
Makefile

RESOLVER_IMAGE_NAME ?= botanjs
RESOLVER_IMAGE_TAG ?= dev
GO_SRC_DIR ?= ./resolver-go
BUILDINFO_FILE := $(GO_SRC_DIR)/internal/generated/buildinfo_gen.go
.buildinfo:
@mkdir -p $(dir $(BUILDINFO_FILE))
@printf '%s\n' \
'package generated' \
'' \
'const (' \
' IMAGE_TAG = "$(RESOLVER_IMAGE_TAG)"' \
' Timestamp = "'$$(TZ=UTC date +%Y%m%d.%H%M%S)'"' \
')' \
> $(BUILDINFO_FILE)
resolver-gen:
docker build \
-f $(GO_SRC_DIR)/dockerfiles/gen.Dockerfile \
--output type=local,dest=$(GO_SRC_DIR)/internal/generated .
build-resolver: .buildinfo ensure-buildx resolver-gen
docker build \
-f $(GO_SRC_DIR)/dockerfiles/api.Dockerfile \
--load \
-t $(RESOLVER_IMAGE_NAME):$(RESOLVER_IMAGE_TAG) .
push-resolver: .buildinfo ensure-buildx resolver-gen
docker buildx build \
--platform linux/amd64,linux/arm64 \
-f $(GO_SRC_DIR)/dockerfiles/api.Dockerfile \
-t $(RESOLVER_IMAGE_NAME):$(RESOLVER_IMAGE_TAG) \
--push .
run-api-server:
cd $(GO_SRC_DIR) && \
go run ./cmd/classmap-gen -src "$(JS_SRC_DIR)" && \
go run ./cmd/externs-gen -src "$(JS_SRC_DIR)" && \
go run ./cmd/api-server -src "$(JS_SRC_DIR)" -addr :8080
inspect-resolver:
docker buildx imagetools inspect $(RESOLVER_IMAGE_NAME):$(RESOLVER_IMAGE_TAG)
.PHONY: push-resolver build-resolver .buildinfo resolver-gen