YM=./devtools/yamake_prep/yamake_prep
RELEASER=ya tool releaser
ARC_ROOT=$$(realpath $$(pwd)/../..)
VERSIONATOR=${ARC_ROOT}/collab/devtools/versionator/versionator
TANKERTOKEN=${wiki_wiki_tanker_token}
.PHONY: ya devtools install-hooks get-version rebuild-testrunner ssh remake devtools/precommit/precommit translations

ya:
	${YM} ./src/ya.make.template ./src/ya.make; \
	${YM} ./tests/ya.make.template ./tests/ya.make; \
	${YM} ./tests/ya.flavor.make.template ./tests/wiki_tests/flavor_specific/biz/ya.make; \
	${YM} ./tests/ya.flavor.make.template ./tests/wiki_tests/flavor_specific/intranet/ya.make

devtools/precommit/precommit:
	cd ./devtools/precommit; ya make

versionator:
	cd ${ARC_ROOT}/collab/devtools/versionator; ya make

devtools/yamake_prep/yamake_prep:
	cd ./devtools/yamake_prep; ya make

devtools/sshator/sshator:
	cd ./devtools/sshator; ya make

devtools: devtools/precommit/precommit devtools/yamake_prep/yamake_prep

remake:
	make ya && make rebuild-testrunner

clean-devtools:
	rm devtools/precommit/precommit; rm devtools/yamake_prep/yamake_prep

rebuild-devtools: clean-devtools devtools

install-hooks: devtools
	./devtools/precommit/precommit install

get-version:
	head ./changelog.md -n 1

rebuild-testrunner:
	cd ./test_suites/intranet; ya make -r

rebuild-testrunner-macos:
	cd ./test_suites/intranet; ya make -r --use-clonefile

ssh:
	RELEASER_LOCAL_CONFIG=./build/releaser/ssh/${i}.hjson releaser ssh -e ${e}

bump-patch: versionator
	NEW_VER=$$(${VERSIONATOR} --from-changelog ./changelog.md patch); RELEASER_LOCAL_CONFIG=./build/releaser/wiki.hjson ${RELEASER} release --buildfile docker_package.json -v $$NEW_VER && \
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_preprod.hjson ${RELEASER} deploy -v $$NEW_VER

bump-minor: versionator
	NEW_VER=$$(${VERSIONATOR} --from-changelog ./changelog.md minor); RELEASER_LOCAL_CONFIG=./build/releaser/wiki.hjson ${RELEASER} release --buildfile docker_package.json -v $$NEW_VER && \
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_preprod.hjson ${RELEASER} deploy -v $$NEW_VER


bump-major: versionator
	NEW_VER=$$(${VERSIONATOR} --from-changelog ./changelog.md major); RELEASER_LOCAL_CONFIG=./build/releaser/wiki.hjson ${RELEASER} release --buildfile docker_package.json -v $$NEW_VER && \
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_preprod.hjson ${RELEASER} deploy -v $$NEW_VER


release-wiki:
	RELEASER_LOCAL_CONFIG=./build/releaser/wiki.hjson ${RELEASER} release --buildfile docker_package.json -v ${v}


release-b2b:
	RELEASER_LOCAL_CONFIG=./build/releaser/biz.hjson ${RELEASER} release --buildfile docker_package.json -v ${v}


package:
	ya package ./docker_package.json --docker --docker-repository=tools  --custom-version=${v} --docker-push -vvv

deploy-testing-wiki:
	RELEASER_LOCAL_CONFIG=./build/releaser/wiki.hjson ${RELEASER} deploy -v ${v}

testing-wiki:
	RELEASER_LOCAL_CONFIG=./build/releaser/wiki.hjson ${RELEASER} stand --buildfile docker_package.json -s wiki-back-intranet-testing

deploy-testing-b2b:
	RELEASER_LOCAL_CONFIG=./build/releaser/biz.hjson ${RELEASER} deploy -v ${v}

deploy-preprod-b2b:
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_preprod.hjson ${RELEASER} deploy -v ${v}

deploy-prod-wiki:
	RELEASER_LOCAL_CONFIG=./build/releaser/wiki_prod.hjson ${RELEASER} deploy -v ${v}

deploy-prod-b2b:
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_prod.hjson ${RELEASER} deploy -v ${v}

deploy-stand-front-wiki:
	RELEASER_LOCAL_CONFIG=./build/releaser/stand/wiki_front.hjson ${RELEASER} deploy -v ${v} --stage wiki-www-stand-intranet-${s}

deploy-stand-front-b2b:
	RELEASER_LOCAL_CONFIG=./build/releaser/stand/wiki_front.hjson ${RELEASER} deploy -v ${v} -e wiki-www-stand-b2b-${s}

stand-wiki:
	RELEASER_LOCAL_CONFIG=./build/releaser/stand/wiki.hjson ${RELEASER} stand --buildfile docker_package.json -s wiki-back-stand-intranet-${s}

stand-b2b:
	RELEASER_LOCAL_CONFIG=./build/releaser/stand/wiki.hjson ${RELEASER} stand --buildfile docker_package.json -s wiki-back-stand-b2b-${s}

testenv:
	docker-compose up

prod-ssh:
	RELEASER_LOCAL_CONFIG=./build/releaser/wiki_prod.hjson ${RELEASER} ssh

stand-preprod:
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_preprod.hjson ${RELEASER} stand --buildfile docker_package.json -s wiki-back-b2b-preprod

stand-preprod-console:
	RELEASER_LOCAL_CONFIG=./build/releaser/biz_preprod_console.hjson ${RELEASER} stand --buildfile docker_package.json -s wiki-back-b2b-preprod

make-migrations:
	./devtools/mgmt.sh makemigrations ${a} --dry-run --verbosity 3

venv:
	cd ./tools/conf2wiki; ya ide venv --venv-root=~/.venvs/wiki

translations:
	./devtools/translations.sh
