#!/usr/bin/make -f

include /usr/share/javahelper/java-vars.mk

MDWN_DOCS = $(patsubst %.md,%.html,$(wildcard $(CURDIR)/*.md))

PRODUCED_JAR=trapperkeeper.jar
TEST_JAR=trapperkeeper-test.jar
export CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/tools.logging.jar:/usr/share/java/tools.nrepl.jar:/usr/share/java/tools.macro.jar:/usr/share/java/core.async.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/log4j-over-slf4j.jar:/usr/share/java/logback-classic.jar:/usr/share/java/logback-core.jar:/usr/share/java/logback-access.jar:/usr/share/java/janino.jar:/usr/share/java/clj-time.jar:/usr/share/java/raynes-fs.jar:/usr/share/java/clj-yaml.jar:/usr/share/java/prismatic-plumbing.jar:/usr/share/java/prismatic-schema.jar:/usr/share/java/beckon.jar:/usr/share/java/clj-typesafe-config.jar:/usr/share/java/kitchensink.jar
TEST_CLASSPATH=$(CURDIR)/test:/usr/share/java/kitchensink-test.jar

%:
	dh $@ --with javahelper --with jh_maven_repo_helper

override_jh_build: $(MDWN_DOCS)
	jar cf $(PRODUCED_JAR) -C src .
	jar cf $(TEST_JAR) -C test .
	mkdir -p $(CURDIR)/doc/html && mv $(CURDIR)/*.html $(CURDIR)/doc/html

override_jh_classpath:
	jh_classpath $(PRODUCED_JAR)

override_jh_clean:
	jh_clean
	rm -f $(CURDIR)/$(PRODUCED_JAR)
	rm -rf $(CURDIR)/doc/html

override_dh_installdocs:
	dh_installdocs -XCHANGELOG

%.html:%.md
	cat debian/header.html > $@
	sed -i'' -e 's#@TITLE@#$(shell head -n 1 $< | sed 's/^#*\s*//')#g' $@
	markdown $< >> $@
	cat debian/footer.html >> $@

override_dh_auto_test:
	-mkdir test/target
	(cd test && find . -name "*.clj" -not -path '*/testutils/*' | \
		xargs --verbose clojure -cp $(CURDIR)/$(PRODUCED_JAR):$(CLASSPATH):$(TEST_CLASSPATH))
	rm -rf test/target
