#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/maven.mk

JAVA_HOME := /usr/lib/jvm/default-java
# Parse upstream version without +dfsg for source download+
DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^+]+).*,\1,p')
DEB_MAVEN_BUILD_TARGET := install 
DEB_MAVEN_ARGS := -e -Dbuild.version="$(DEB_UPSTREAM_VERSION)"
DEB_MAVEN_INSTALL_TO_USJ := false

# Debian package version use daemon to control jenkins processes
# Ubuntu does not need this - managed by upstart
ifeq ($(shell dpkg-vendor --derives-from ubuntu || echo debian ),debian)
DEB_DH_GENCONTROL_ARGS:= -- -Tdebian/debian_control_vars
endif

# Install the POM for plugin-parent manually as not part
# of main build
binary-post-install/libjenkins-plugin-parent-java::
	mh_installpoms -plibjenkins-plugin-parent-java

# Sort out MANIFEST.MF entries in jenkins cli .jar files
# and create handy links for script wrapper
binary-post-install/jenkins-cli::
	dh_link -pjenkins-cli usr/share/jenkins/cli/java/cli-$(DEB_UPSTREAM_VERSION)-jar-with-dependencies.jar \
		usr/share/jenkins/cli/java/cli.jar
	jh_classpath -pjenkins-cli
	jh_manifest -pjenkins-cli

# Create handy links for script wrapper
binary-post-install/jenkins-external-job-monitor::
	dh_link -pjenkins-external-job-monitor usr/share/jenkins/external-job-monitor/java/remoting-$(DEB_UPSTREAM_VERSION).jar \
        usr/share/jenkins/external-job-monitor/java/remoting.jar
	dh_link -pjenkins-external-job-monitor usr/share/jenkins/external-job-monitor/java/jenkins-core-$(DEB_UPSTREAM_VERSION).jar \
	    usr/share/jenkins/external-job-monitor/java/jenkins-core.jar

# Switch in upstart configuration if building on Ubuntu
# and generate control with/without daemon.
build/jenkins::
	if dpkg-vendor --derives-from ubuntu ; then \
        cp debian/jenkins.upstart.in debian/jenkins.upstart ; \
    fi

build/jenkins-slave::
	if dpkg-vendor --derives-from ubuntu ; then \
        cp debian/jenkins-slave.upstart.in debian/jenkins-slave.upstart ; \
    fi

# Tidy up any upstart configuration files lying around
clean::
	[ ! -f dummy.keystore ] || rm dummy.keystore
	rm -rf debian/*.upstart

get-orig-source:
	uscan --download-version $(DEB_UPSTREAM_VERSION) --force-download --rename
	mv ../jenkins_$(DEB_UPSTREAM_VERSION).orig.tar.gz \
        ../jenkins_$(DEB_UPSTREAM_VERSION)+dfsg.orig.tar.gz

before-mvn-build:: dummy.keystore

dummy.keystore:
	keytool -genkeypair -dname "cn=Jenkins, ou=Jenkins Project, o=Debian, c=US" \
    	-alias jenkins -keypass jenkins -keystore dummy.keystore \
      	-storepass jenkins -validity 3650
