#!/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 >> $@ # Tests can't run in a random order (#880351): override_dh_auto_test: ORDERED_TESTS=puppetlabs/trapperkeeper/services/status/check_test.clj puppetlabs/trapperkeeper/services/status/status_core_test.clj puppetlabs/trapperkeeper/services/status/status_proxy_service_test.clj puppetlabs/trapperkeeper/services/status/status_service_test.clj override_dh_auto_test: EXPECTED=$(shell echo "$(ORDERED_TESTS)" | sed 's/ /\n/g' | sort | xargs) override_dh_auto_test: FOUND=$(shell cd test && find -name '*.clj' | sed 's,^[.]/,,' | sort | xargs) override_dh_auto_test: # Make sure to detect when tests appear or disappear: @if [ "$(FOUND)" != "$(EXPECTED)" ]; then \ echo "E: sanity check failed, available tests don't match known tests:"; \ echo " - found: $(FOUND)"; \ echo " - expected: $(EXPECTED)"; \ echo "=> Please update ORDERED_TESTS in debian/rules accordingly"; \ exit 1; \ fi # Run tests: (cd test && clojure -cp $(CURDIR)/$(PRODUCED_JAR):$(CLASSPATH):$(TEST_CLASSPATH) $(ORDERED_TESTS))