#!/usr/bin/make -f

VERSION := $(shell dpkg-parsechangelog | grep ^Version: | sed 's/^Version: \(.\+\)-.\+$$/\1/')
UPSTREAM_VERSION := $(shell echo $(VERSION) | sed 's/~m/-milestone-/')
JARS := announce antlr code-quality cpp ear ide javascript jetty maven osgi plugins scala signing
export JAVA_HOME=/usr/lib/jvm/default-java
export GRADLE_OPTS=-Dfile.encoding=UTF-8 -Xmx512m
export GRADLE_USER_HOME=$(CURDIR)/.gradlehome
DEB_GRADLE_OPTS := --project-prop notSnapshot=true --project-prop version=$(UPSTREAM_VERSION) --stacktrace --offline

%:
	dh $@ --with javahelper

override_dh_auto_build:
	find /usr/share/gradle -type l ! -exec test -r {} \; -print
	mkdir $(CURDIR)/.gradlehome
	gradle $(DEB_GRADLE_OPTS) assemble
	unzip build/distributions/gradle-*-bin.zip -d build/distributions/bin
	unzip build/distributions/gradle-*-all.zip -d build/distributions/all
	pod2man -c '' -r '' debian/gradle.pod > build/gradle.1
	./debian/gradle.sed -i build/distributions/bin/gradle-*/bin/gradle

override_dh_auto_clean:
	dh_auto_clean
	-gradle $(DEB_GRADLE_OPTS) clean
	-rm -rf .gradle buildSrc/.gradle buildSrc/build $(CURDIR)/.gradlehome build

override_dh_link:
	dh_link
	# plugins symlinks
	for j in $(JARS); do \
		dh_link -plibgradle-$$j-java usr/share/java/gradle-$$j.jar \
		usr/share/gradle/lib/plugins/gradle-$$j-$(VERSION).jar; \
	done ;
	dh_link -plibgradle-core-java usr/share/java/gradle-core-impl.jar \
		usr/share/gradle/lib/plugins/gradle-core-impl-$(VERSION).jar; \
	# core and wrapper jars symlinks
	for j in core wrapper; do \
		dh_link -pgradle usr/share/java/gradle-$$j.jar \
		usr/share/gradle/lib/gradle-$$j-$(VERSION).jar; \
	done ;

override_jh_installlibs:
	jh_installlibs --upstream-version=$(UPSTREAM_VERSION)

override_jh_installjavadoc:
	jh_installjavadoc -pgradle-doc \
		build/distributions/all/gradle-$(UPSTREAM_VERSION)/docs/javadoc

get-orig-source:
	cd $(dir $(firstword $(MAKEFILE_LIST)))../ && \
	uscan \
		--verbose \
		--no-symlink \
		--destdir $(CURDIR)      \
		--watchfile debian/watch \
		--force-download

# since gradle build-depends on itself, a way to generate a deb from upstream
# binary distribution is provided with this target. With the resulting .deb,
# gradle can be rebuilt from source.
bootstrap:
	cd $(dir $(firstword $(MAKEFILE_LIST)))../ && \
	./debian/bootstrap.sh
