PLUGIN_NAME = easydb-wordpress-plugin
PLUGIN_PATH = easydb-wordpress-plugin

L10N_FILES = l10n/$(PLUGIN_NAME).csv
L10N_GOOGLE_KEY = 1glXObMmIUd0uXxdFdiPWRZPLCx6qEUaxDfNnmttave4
L10N_GOOGLE_GID = 792458177

BUILD_INFO = build-info.json

INSTALL_FILES = \
	$(WEB)/l10n/cultures.json \
	$(WEB)/l10n/cs-CZ.json \
	$(WEB)/l10n/da-DK.json \
	$(WEB)/l10n/de-DE.json \
	$(WEB)/l10n/en-US.json \
	$(WEB)/l10n/es-ES.json \
	$(WEB)/l10n/fi-FI.json \
	$(WEB)/l10n/fr-FR.json \
	$(WEB)/l10n/it-IT.json \
	$(WEB)/l10n/pl-PL.json \
	$(WEB)/l10n/ru-RU.json \
	$(WEB)/l10n/sv-SE.json \
	$(JS) \
	build/server/wordpress-easydb5.py \
	build/server/wordpress_util.py \
	build/server/__init__.py \
	build/server/fylr_lib_plugin_python3/__init__.py \
	build/server/fylr_lib_plugin_python3/util.py \
	manifest.master.yml

COFFEE_FILES = src/webfrontend/ExportTransportWordpress.coffee \
	src/webfrontend/BaseConfigWordpress.coffee

help:
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = "(:|##)"}; {printf "\033[36m%-30s\033[0m %s\n", $$2, $$4}'

include easydb-library/tools/base-plugins.make

all: clean build build_fylr ## build easydb5 and fylr

build: code $(L10N) buildinfojson ## build all for easydb5 (creates build folder)
	cp -r src/server build
	cp manifest.master.yml build/manifest.yml
	cp build-info.json build/build-info.json
	chmod 777 $(L10N_FILES)
	cp -r l10n build/webfrontend

code: $(JS)  ## build Coffeescript code

clean: clean-base clean_fylr ## clean build and temporary files
	rm -rf build-info.json
	rm -rf src/server/__pycache__
	rm -rf src/server/*.pyc

wipe: wipe-base

buildinfojson:
	repo=`git remote get-url origin | sed -e 's/\.git$$//' -e 's#.*[/\\]##'` ;\
	rev=`git show --no-patch --format=%H` ;\
	lastchanged=`git show --no-patch --format=%ad --date=format:%Y-%m-%dT%T%z` ;\
	builddate=`date +"%Y-%m-%dT%T%z"` ;\
	release=$(if $(strip $(RELEASE_TAG)),'"$(RELEASE_TAG)"','null') ;\
	echo '{' > ${BUILD_INFO} ;\
	echo '  "repository": "'$$repo'",' >> ${BUILD_INFO} ;\
	echo '  "rev": "'$$rev'",' >> ${BUILD_INFO} ;\
	echo '  "release": '$$release',' >> ${BUILD_INFO} ;\
	echo '  "lastchanged": "'$$lastchanged'",' >> ${BUILD_INFO} ;\
	echo '  "builddate": "'$$builddate'"' >> ${BUILD_INFO} ;\
	echo '}' >> ${BUILD_INFO}

# ----------------------------
# fylr only

FYLR_BUILD_DIR=build_fylr

clean_fylr:  ## clean fylr build folder
	rm -rf $(FYLR_BUILD_DIR)

build_fylr: code buildinfojson ## build all for fylr (creates build folder)
	mkdir -p               $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)/l10n
	cp -r build/*          $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)
	cp -f $(L10N_FILES)    $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)/l10n
	cp -r src/server       $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)
	cp manifest.master.yml $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)/manifest.yml
	cp $(BUILD_INFO)       $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)
# delete unnecessary files from a previous easdyb5 build process
	rm -rf                 $(FYLR_BUILD_DIR)/$(PLUGIN_PATH)/webfrontend/l10n

zip: build_fylr ## build and create zip for fylr
	cd $(FYLR_BUILD_DIR) && zip $(PLUGIN_PATH).zip -r $(PLUGIN_PATH)
