#!/usr/bin/make -f

include /usr/share/javahelper/java-vars.mk
include /usr/share/dpkg/pkg-info.mk

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

PRODUCED_JAR=trapperkeeper-status.jar
export CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/clj-time.jar:/usr/share/java/ring-core.jar:/usr/share/java/commons-codec.jar:/usr/share/java/tools.macro.jar:/usr/share/java/tools.logging.jar:/usr/share/java/tools.reader.jar:/usr/share/java/tools.trace.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/cheshire.jar:/usr/share/java/prismatic-schema.jar:/usr/share/java/ring-defaults.jar:/usr/share/java/slingshot.jar:/usr/share/java/versioneer.jar:/usr/share/java/java.jmx.jar:/usr/share/java/kitchensink.jar:/usr/share/java/trapperkeeper.jar:/usr/share/java/puppetlabs-ring-middleware.jar:/usr/share/java/comidi.jar:/usr/share/java/trapperkeeper-scheduler.jar
TEST_CLASSPATH=/usr/share/java/puppetlabs-http-client.jar:/usr/share/java/trapperkeeper-test.jar:/usr/share/java/trapperkeeper-webserver-jetty9.jar:/usr/share/java/kitchensink-test.jar

MAVEN_INF=$(CURDIR)/debian/META-INF/maven/puppetlabs/trapperkeeper-status
LEIN_INF=$(CURDIR)/debian/META-INF/leiningen/puppetlabs/trapperkeeper-status

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

override_jh_build: $(MDWN_DOCS)
	jar cf $(PRODUCED_JAR) -C src .
	mkdir -p $(CURDIR)/doc/html && mv $(CURDIR)/*.html $(CURDIR)/doc/html
	mkdir -p $(MAVEN_INF) $(LEIN_INF)
	cp debian/pom.xml $(MAVEN_INF)
	sed -e 's/@VERSION@/$(DEB_VERSION_UPSTREAM)/' debian/pom.properties > $(MAVEN_INF)/pom.properties
	cp project.clj $(LEIN_INF)
	jar uf $(PRODUCED_JAR) -C debian META-INF


override_jh_classpath:
	jh_classpath $(PRODUCED_JAR)

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

%.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:
	-(cd test && find . -name "*.clj" | \
		xargs --verbose clojure -cp $(CURDIR)/$(PRODUCED_JAR):$(CLASSPATH):$(TEST_CLASSPATH))
