#!/usr/bin/make -f

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

CORE_CLASSPATH=$(shell cat debian/libring-core-clojure.classpath | cut -d ' ' -f 2- | sed 's/ /:/g')
JETTY_CLASSPATH=$(shell cat debian/libring-jetty-adapter-clojure.classpath | cut -d ' ' -f 2- | sed 's/ /:/g')
SERVLET_CLASSPATH=/usr/share/java/servlet-api-3.1.jar

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

override_jh_build:
	jar cf ring-core.jar -C ring-core/src .
	jar cf ring-servlet.jar -C ring-servlet/src .
	jar cf ring-jetty-adapter.jar -C ring-jetty-adapter/src .

# Work around jh_classpath not being able to handle multiple packages correctly
override_jh_classpath:
	jh_classpath -plibring-core-clojure
	jh_classpath -plibring-servlet-clojure
	jh_classpath -plibring-jetty-adapter-clojure

# Sorting the filenames according to the C locale is sufficient to get a
# successful run as of 1.6.2 but further updates might need to encode a
# specific sequence instead (#918437):
override_dh_auto_test:
	find ring-core/test -name '*.clj' | LC_ALL=C sort | \
		xargs --verbose clojure -cp ring-core.jar:$(CORE_CLASSPATH)
	find ring-servlet/test -name '*.clj' | LC_ALL=C sort | \
		xargs --verbose clojure -cp ring-servlet.jar:ring-core.jar:$(SERVLET_CLASSPATH)
	find ring-jetty-adapter/test -name '*.clj' | LC_ALL=C sort | \
		xargs --verbose clojure -cp ring-jetty-adapter.jar:ring-servlet.jar:ring-core.jar:$(SERVLET_CLASSPATH):$(JETTY_CLASSPATH):/usr/share/java/clj-http.jar:/usr/share/java/commons-logging.jar

override_jh_clean:
	jh_clean
	rm -f $(CURDIR)/*.jar
