<?xml version="1.0" encoding="UTF-8"?>
<project name="urnMap-plugin" default="deploy.jboss">

	<property file="build.properties" />
	<property file="${user.home}/.camunda/build.properties" />
	<property name="target.dir" value="target" />

	<condition property="mvn.executable" value="mvn.bat" else="mvn">
		<os family="windows"/>
	</condition>

	<target name="deploy.jboss" depends="package.mvn, install.cockpit.plugin" description="Copies the cockit plugin to the deployment directory defined in '${basedir}/build.properties' or '${user.home}/.camunda/build.properties'" />

	<target name="deploy.tomcat" depends="package.mvn" description="Copies the cockpit plugin to the deployment directory defined in '${basedir}/build.properties' or '${user.home}/.camunda/build.properties'">
		<fail unless="deploy.tomcat.dir" message="No deployment folder has been configured. Please copy the file '${basedir}/build.properties.example' to '${basedir}/build.properties' or '${user.home}/.camunda/build.properties' and change it according to your environment." />
		<copy file="${target.dir}/${ant.project.name}.jar" todir="${deploy.tomcat.dir}/camunda/WEB-INF/lib" />
		<touch file="${deploy.tomcat.dir}/camunda/WEB-INF/web.xml"/>
	</target>

	<target name="package.mvn">
		<exec executable="${mvn.executable}" dir="." failonerror="true">
			<env key="MAVEN_OPTS" value="-Xmx1024m -Xms512m -DskipTests=true -Dmaven.test.skip=true" />
			<arg line="clean package" />
		</exec>
	</target>

	<target name="install.cockpit.plugin">
		<fail unless="deploy.jboss.dir" message="No deployment folder has been configured. Please copy the file '${basedir}/build.properties.example' to '${basedir}/build.properties' or '${user.home}/.camunda/build.properties' and change it according to your environment." />
		<path id="cockpit.file.id"> 
			<fileset dir="${deploy.jboss.dir}"> 
				<include name="camunda-webapp-*.war"/> 
			</fileset> 
		</path> 
		<property name="cockpit.file" refid="cockpit.file.id"/> 
		<war destfile="${cockpit.file}" update="true">
			<zipfileset file="${target.dir}/${ant.project.name}.jar" fullpath="WEB-INF/lib/${ant.project.name}.jar" />
		</war>
	</target>

	<target name="undeploy.jboss" description="Deletes the cockpit plugin from the deployment directory defined in '${basedir}/build.properties' or '${user.home}/.camunda/build.properties'">
		<path id="cockpit.file.id"> 
			<fileset dir="${deploy.jboss.dir}"> 
				<include name="camunda-webapp-*.war"/> 
			</fileset> 
		</path> 
		<property name="cockpit.file" refid="cockpit.file.id"/>
		<basename property="cockpit.filename" file="${cockpit.file}"/>
		<move file="${cockpit.file}" todir="${java.io.tmpdir}"/>
		<zip destfile="${cockpit.file}">
			<zipfileset src="${java.io.tmpdir}/${cockpit.filename}">
				<exclude name="WEB-INF/lib/${ant.project.name}.jar"/>
			</zipfileset>
		</zip>
	</target>

	<target name="undeploy.tomcat" description="Deletes the cockpit plugin from the deployment directory defined in '${basedir}/build.properties' or '${user.home}/.camunda/build.properties'">
		<delete file="${deploy.tomcat.dir}/camunda/WEB-INF/lib/${ant.project.name}.jar" />
	</target>

</project>