Android 开发 利用 jq 在 Makefile 里给 output-metadata.json 增加字段

明天有风吹 / 2023-05-11 / 原文

Makefile:


.PHONY: upload
upload: metadata
	#./push-apk.sh


.PHONY: metadata
metadata: app/build/outputs/apk/release/output-metadata.json


app/build/outputs/apk/release/output-metadata.json: build update-content.txt
	# 在 Makefile 中插入shell脚本要用双美元符号($$)来引用变量
	jq '. += {updateContent: $$content}' $@ --arg content "$$(<update-content.txt)" \
	| jq '.elements[0] += {apkFileSize: $$file_size | tonumber}' \
	  --arg file_size $$(du -b app/build/outputs/apk/release/*.apk | awk '{print $$1}') \
	> $@.tmp

	mv $@.tmp $@

.PHONY: build
build:
	./gradlew build

.PHONY: aab
aab:
	./gradlew bundle


.DEFAULT_GOAL := metadata

update-content.txt:

- Minor performance improvements and bug fixes
- add some features