#!/usr/bin/make -f

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

TEST_CORE_CLASSPATH=/usr/share/java/bcpg.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-simple.jar:pgpainless-core/build/libs/pgpainless-core.jar
TEST_SOP_CLASSPATH=$(TEST_CORE_CLASSPATH):/usr/share/java/sop-java.jar:pgpainless-sop/build/libs/pgpainless-sop.jar
TEST_CLI_CLASSPATH=$(TEST_SOP_CLASSPATH):/usr/share/java/sop-java-picocli.jar:/usr/share/java/junit5-system-exit.jar:pgpainless-cli/build/libs/pgpainless-cli.jar
JUNIT_OPTIONS=--scan-classpath --fail-if-no-tests --disable-ansi-colors

%:
	dh $@ --buildsystem=gradle --with javahelper,maven_repo_helper

override_dh_auto_build:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	dh_auto_build -- jar testJar javadoc
else
	dh_auto_build -- jar testJar
endif

execute_after_dh_auto_build:
	for n in pgpainless-core pgpainless-sop pgpainless-cli; do \
		cd $$n/build/libs; \
		ln -sf $$n-$(DEB_VERSION_UPSTREAM).jar $$n.jar; \
		ln -sf $$n-$(DEB_VERSION_UPSTREAM)-tests.jar $$n-tests.jar; \
		cd $(CURDIR); \
	done

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	java \
		-jar /usr/share/java/junit-platform-console-standalone.jar \
		-cp $(TEST_CORE_CLASSPATH):pgpainless-core/build/libs/pgpainless-core-tests.jar \
		$(JUNIT_OPTIONS)
	java \
		-jar /usr/share/java/junit-platform-console-standalone.jar \
		-cp $(TEST_SOP_CLASSPATH):pgpainless-sop/build/libs/pgpainless-sop-tests.jar \
		$(JUNIT_OPTIONS)
	java -Xbootclasspath/a:/usr/share/java/sop-java-picocli.jar \
		-jar /usr/share/java/junit-platform-console-standalone.jar \
		-cp $(TEST_CLI_CLASSPATH):pgpainless-cli/build/libs/pgpainless-cli-tests.jar \
		$(JUNIT_OPTIONS)
endif

execute_after_dh_install:
	dh_install -p libpgpainless-core-java pgpainless-core/build/libs/pgpainless-core-*tests.jar /usr/share/java
	dh_install -p libpgpainless-sop-java pgpainless-sop/build/libs/pgpainless-sop-*tests.jar /usr/share/java
	dh_install -p libpgpainless-cli-java pgpainless-cli/build/libs/pgpainless-cli-*tests.jar /usr/share/java

override_dh_installman:
	dh_installman -p pgpainless-cli pgpainless-cli/packaging/man/*
