#!/usr/bin/make -f

SKIP=test_git_revision or test_jupyter_idle_timeout_returned or test_process_executor_kills_process or test_steal_twice or test_client_worker

export PYBUILD_NAME=distributed
export PYBUILD_TEST_ARGS=$(CURDIR)/distributed/tests -v \
  --ignore=distributed/deploy/utils_test.py \
  --ignore=distributed/utils_test.py \
  --ignore=continuous_integration \
  --ignore=docs \
  --ignore=.github \
  --timeout-method=signal \
  --timeout=300 \
  -m "not (avoid_ci or isinstalled or slow)" -k "not ( $(SKIP) )"

export NEEDED_JS=distributed/http/static/js/anime.min.js \
                 distributed/http/static/js/reconnecting-websocket.min.js
DEB_BUILD_OPTIONS += $(filter nodoc,$(DEB_BUILD_PROFILES))
%:
	dh $@ --with python3,sphinxdoc --buildsystem=pybuild

override_dh_auto_build: export http_proxy=127.0.0.1:9
override_dh_auto_build: export https_proxy=127.0.0.1:9
override_dh_auto_build:
	rm -f distributed/comm/tests/__init__.py
	set -e; \
	for p in ${NEEDED_JS}; do \
	    uglifyjs -o $$p debian/missing-sources/$${p%.min.js}.js ; \
	done
	cp /usr/share/javascript/sortable-tablesort/sortable.min.js distributed/http/static/js
	cp /usr/share/javascript/sortable-tablesort/sortable.min.css* distributed/http/static/css
	chmod a-x distributed/tests/test_utils_test.py
	dh_auto_build
#	ln -s /usr/share/javascript/mathjax docs/source/_static
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	PYTHONPATH=. python3 -m sphinx -N -bhtml docs/source build/html # HTML generator
	rm -rf build/html/_static/__pycache__
endif
	dh_fixperms

override_dh_compress:
	dh_compress -Xchangelog.html

override_dh_install:
	dh_install
	dh_installchangelogs docs/source/changelog.rst

override_dh_auto_install:
	dh_auto_install
	dh_link
	find debian/ -name *.ico -exec chmod a-x {} \;
	rm -rf debian/python3-distributed/usr/lib/python3*/dist-packages/dask-worker-space debian/python3-distributed/usr/lib/python3*/dist-packages/core debian/python3-distributed/usr/lib/python3*/dist-packages/test_cluster_dump

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	dh_auto_test
else
	echo "Not running tests"
endif

override_dh_auto_clean:
	touch distributed/comm/tests/__init__.py
	dh_auto_clean
	-rm $(NEEDED_JS)
	-chmod 755 distributed/tests/test_utils_test.py
