# Add any tasks that are not dependent on files to the .PHONY list.
.PHONY: clean docker_proper_changed_releases_exec down_proper_changed_releases_exec docker_proper_new_releases_exec
.PHONY: ci_unit_lint ci_unit_lint_clean

clean:
	rm -rf env .coverage .pytest_cache .cache coverage.xml* pyunit.xml

docker_proper_changed_releases_exec:
	docker compose up \
		--build \
		--exit-code-from proper-changed-releases-exec \
		--abort-on-container-exit \
		--remove-orphans \
		proper-changed-releases-exec

down_proper_changed_releases_exec:
	docker compose down proper-changed-releases-exec --remove-orphans

docker_proper_new_releases_exec:
	docker compose up \
		--build \
		--exit-code-from proper-new-releases-exec \
		--abort-on-container-exit \
		--remove-orphans \
		proper-new-releases-exec

down_proper_new_releases_exec:
	docker compose down proper-new-releases-exec --remove-orphans

ci_unit_lint: clean
	docker compose run \
		--build \
		--name swf-feed-sender-unit-lint \
		lint-and-test

pyunit.xml:
	docker cp swf-feed-sender-unit-lint:/var/app/pyunit.xml ./pyunit.xml || true

coverage.xml:
	docker cp swf-feed-sender-unit-lint:/var/app/coverage.xml ./coverage.xml || true
# set the coverage report path to the local machine directory so jenkins can find the sources
	sed -i.bak "s?<source>/var/app/feed_sender</source>?<source>$$(pwd)/feed_sender</source>?g" coverage.xml
	rm -rf coverage.xml.bak

ci_unit_lint_clean:
	docker rm -f swf-feed-sender-unit-lint
	docker compose down --remove-orphans
