blob: f346841589dd366c68bac2ff27a8433fba84b5cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
BUILD_DIR ?= build
TAG ?= $(shell date +%Y%m%d)
JSON_TARBALL := $(BUILD_DIR)/release-$(TAG)-json.tar.gz
PHP_TARBALL := $(BUILD_DIR)/release-$(TAG)-php.tar.gz
R2_BUCKET ?=
.PHONY: build build-php update release clean
build: build-json build-php
build-json: update
tar czf "$(JSON_TARBALL)" -C "$(BUILD_DIR)/json" .
shasum -a 256 "$(JSON_TARBALL)" | awk '{print $$1}' > "$(JSON_TARBALL).sha256"
build-php: update
cd php-generator && composer install --no-dev --optimize-autoloader
mkdir -p "$(BUILD_DIR)/php"
php php-generator/generate.php "$(BUILD_DIR)/json" "$(BUILD_DIR)/php"
tar czf "$(PHP_TARBALL)" -C "$(BUILD_DIR)/php" .
shasum -a 256 "$(PHP_TARBALL)" | awk '{print $$1}' > "$(PHP_TARBALL).sha256"
update: $(BUILD_DIR)/.metadata.updated
$(BUILD_DIR)/.metadata.updated: $(BUILD_DIR)/.metadata.en.updated $(BUILD_DIR)/.metadata.zh.updated
touch "$@"
$(BUILD_DIR)/.metadata.en.updated:
LANGUAGE=EN_US BUILD_DIR="$(BUILD_DIR)/json" ./scripts/update-metadata.sh
touch "$@"
$(BUILD_DIR)/.metadata.zh.updated:
LANGUAGE=ZH_CN BUILD_DIR="$(BUILD_DIR)/json" ./scripts/update-metadata.sh
touch "$@"
release:
ifndef R2_BUCKET
$(error R2_BUCKET is missing. Please set it to your Cloudflare R2 bucket name.)
endif
find "$(BUILD_DIR)" -type f \( -name "release-$(TAG)-*.tar.gz" -o -name "release-$(TAG)-*.tar.gz.sha256" \) \
\( -exec sh -c 'f="$$1"; name=$$(basename "$$f"); npx wrangler r2 object put "$(R2_BUCKET)/releases/$$name" --remote --file "$$f"' sh {} \; -o -quit \)
clean:
rm -rf "$(BUILD_DIR)/"
|