File: rules

package info (click to toggle)
kitchensink-clojure 2.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 272 kB
  • sloc: xml: 376; makefile: 43; sh: 1
file content (58 lines) | stat: -rwxr-xr-x 2,232 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/make -f

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

export CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/tools.cli.jar:/usr/share/java/tools.logging.jar:/usr/share/java/clj-time.jar:/usr/share/java/raynes-fs.jar:/usr/share/java/slingshot.jar:/usr/share/java/cheshire.jar:/usr/share/java/ini4j.jar:/usr/share/java/dynapath.jar:/usr/share/java/clj-digest.jar

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

PRODUCED_JAR=kitchensink.jar
TEST_JAR=kitchensink-test.jar

%:
	dh $@ --with javahelper --with 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)/doc/html

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

override_jh_classpath:
	jh_classpath $(PRODUCED_JAR)

# Tests can't run in a random order (#872935):
override_dh_auto_test: ORDERED_TESTS=puppetlabs/kitchensink/classpath_test.clj puppetlabs/kitchensink/core_test.clj puppetlabs/kitchensink/json_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 '*_test.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))

get-orig-source:
	uscan --download-version $(DEB_VERSION_UPSTREAM) --force-download --rename

%.html:%.md
	@echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"' \
		'"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' > $@
	@echo "<html>" >> $@
	@echo "<head>" >> $@
	@echo "<title>$(shell head -n 1 $< | sed 's/^#*\s*//')</title>" >> $@
	@echo "</head>" >> $@
	@echo "<body>" >> $@
	markdown $< >> $@
	@echo "</body>" >> $@
	@echo "</html>" >> $@