<?xml version="1.0" encoding="UTF-8"?>
<project name="build-jetty-server" default="precommit" xmlns:ivy="antlib:org.apache.ivy.ant">

	<path id="bundles">
		<pathelement location="../org.eclipse.virgo.jetty.sample.tags"/>
		<pathelement location="../org.eclipse.virgo.jetty.web"/>
	</path>

	<property file="${basedir}/../build.properties"/>
	<property file="${basedir}/../build.versions"/>
	<import file="${basedir}/../virgo-build/multi-bundle/default.xml"/>

	<target name="precommit" depends="clean, clean-integration, package, smoke-test"
		description="Performs a CI server-like build, should be run prior to performing a Git push"/>

	<target name="fetch-vts-updatesite">
		<mkdir dir="${target.dir}"/>
		
		<condition property="dependancy.folder" value="milestone" else="${adjusted.release.type}">
			<or>
				<contains string="${org.eclipse.virgo.web-server}" substring=".M"/>
				<contains string="${org.eclipse.virgo.web-server}" substring=".RC"/>
			</or>
		</condition>
		
		<condition property="dependancy.folder" value="release" else="${adjusted.release.type}">
			<contains string="${org.eclipse.virgo.web-server}" substring=".RELEASE"/>
		</condition>
		
		<get src="http://build.eclipse.org/rt/virgo/zips/${dependancy.folder}/VTS/${org.eclipse.virgo.web-server}/virgo-tomcat-server-updatesite-${org.eclipse.virgo.web-server}.zip"
			dest="${target.dir}/virgo-tomcat-server-updatesite-${org.eclipse.virgo.web-server}.zip" 
			usetimestamp="true" />

		<echo message="Fetched the VTS updatesite zip to ${target.dir}/virgo-tomcat-server-updatesite-${org.eclipse.virgo.web-server}.zip"/>
	</target>
	<target name="package" depends="fetch-vts-updatesite">
		<delete dir="${package.output.dir}" quiet="true"/>
		<mkdir dir="${package.output.dir}"/>

		<property name="kernel.stage.file" value=""/>
		<property name="jetty.server.resources" value="${target.dir}/jetty_server_resources"/>
        <property name="jetty.server.scripts" value="${target.dir}/jetty_server_scripts"/>
        <property name="repository.ext" value="${jetty.server.resources}/repository/ext"/>
        <property name="repository.usr" value="${jetty.server.resources}/repository/usr"/>

		<unzip src="${target.dir}/virgo-tomcat-server-updatesite-${org.eclipse.virgo.web-server}.zip" dest="${p2.repository.dir}">
			<globmapper from="virgo-tomcat-server-updatesite-${org.eclipse.virgo.web-server}/*" to="*"/>
		</unzip>
        <delete file="${target.dir}/virgo-tomcat-server-updatesite-${org.eclipse.virgo.web-server}.zip" quiet="true"/>
        
        <unzip src="${p2.repository.dir}/binary/kernel_specific_resources_1.0.0" dest="${jetty.server.resources}">
			<globmapper from="kernel_specific_resources_1.0.0/*" to="*"/>
		</unzip>
        <unzip src="${p2.repository.dir}/binary/scripts_1.0.0" dest="${jetty.server.scripts}">
			<globmapper from="scripts_1.0.0/*" to="*"/>
		</unzip>
        
		<mkdir dir="${repository.usr}"/>
		
		<antcall target="package.config"/>
		<antcall target="package.docs"/>
		<antcall target="package.lib"/>
		<antcall target="package.pickup"/>
		<antcall target="package.repository"/>
		<antcall target="package.resources"/>
		<antcall target="package.jetty"/>
        <antcall target="package.jetty.scripts"/>
        <antcall target="package.publish"/>
        
    </target>

    <target name="package.publish">
        <property name="jetty.server.resources.location" value="${target.dir}/jetty_server_resources_zipped"/>
		<zip destfile="${jetty.server.resources.location}/binary/jetty_server_resources">
			<zipfileset dir="${jetty.server.resources}"/>
		</zip>
        <delete dir="${jetty.server.resources}" quiet="true"/>
        
        <property name="jetty.server.scripts.location" value="${target.dir}/jetty_server_scripts_zipped"/>
		<zip destfile="${jetty.server.scripts.location}/binary/jetty_server_scripts">
			<zipfileset dir="${jetty.server.scripts}"/>
		</zip>
        <delete dir="${jetty.server.scripts}" quiet="true"/>
        
        <!--prepare tomcat server feature for publishing -->
        <copy todir="${target.dir}/assembly/features" failonerror="false">
			<fileset dir="${basedir}/publish_resources/features"/>
		</copy>
        
        <!-- proceed with publish -->
        <antcall target="fetch-unzipped-virgo-build-tools"/>
        
        <property name="p2.products.location" value="${basedir}/publish_resources/products"/>
        <antcall target="p2.publish-binary">
            <param name="repository" value="${p2.repository.dir}"/>
            <param name="source" value="${jetty.server.resources.location}"/>
        </antcall>
        <echo message="Published the jetty server resources to ${p2.repository.dir}."/>
        
        <antcall target="p2.publish-binary-chmod">
            <param name="repository" value="${p2.repository.dir}"/>
            <param name="source" value="${jetty.server.scripts.location}"/>
            <param name="chmod.args" value="startup.sh@/bin#755,dmk.sh@/bin#755,checkJava.sh@/bin#755,jconsole.sh@/bin#755,setupClasspath.sh@/bin#755,shutdown.sh@/bin#755"/>
        </antcall>
        <echo message="Published the jetty server scripts to ${p2.repository.dir}."/>
        
        <antcall target="p2.publish-bundles-features">
            <param name="repository" value="${p2.repository.dir}"/>
            <param name="source" value="${target.dir}/assembly"/>
        </antcall>
        <echo message="Published bundles and features to ${p2.repository.dir}."/>
        
        <antcall target="p2.publish-product">
            <param name="repository" value="${p2.repository.dir}"/>
            <param name="product.file.location" value="${p2.products.location}/jetty-server/jetty-server.product"/>
        </antcall>
        <echo message="Published jetty server product to ${p2.repository.dir}."/>

        <antcall target="p2.install-virgo-product">
            <param name="repository" value="${p2.repository.dir}"/>
            <param name="destination" value="${package.output.dir}"/>
            <param name="product.iu" value="jetty-server.product"/>
        </antcall>
        <echo message="Installed Virgo Jetty Server for distribution purposes."/>
        
        <mkdir dir="${artifacts.dir}"/>
        
        <delete dir="${package.output.dir}/Eclipse.app" quiet="true"/>
        
		<zip destfile="${package.output.file}">
			<zipfileset dir="${package.dir}" includes="${package.basename}/bin/*.sh" filemode="755"/>
			<zipfileset dir="${package.dir}" includes="${package.basename}/configuration/org.eclipse.virgo.kernel.jmxremote.access.properties" filemode="600"/>
			<zipfileset dir="${package.dir}">
				<exclude name="${package.basename}/bin/*.sh"/>
				<exclude name="${package.basename}/configuration/org.eclipse.virgo.kernel.jmxremote.access.properties"/>
			</zipfileset>
		</zip>
        <zip destfile="${updatesite.output.file}">
			<zipfileset dir="${p2.repository.dir}"/>
		</zip>
        
        <delete dir="${jetty.server.resources.location}" quiet="true"/>
        <delete dir="${jetty.server.scripts.location}" quiet="true"/>
        <delete dir="${target.dir}/assembly" quiet="true"/>
        <delete dir="${tools.dir}" quiet="true"/>
    </target>
    
	<target name="package.config">
		<copy todir="${jetty.server.resources}/configuration" failonerror="false" overwrite="true">
			<fileset dir="${basedir}/configuration"/>
		</copy>

		<replaceregexp match="# osgi\.console=2401"
			replace="osgi.console=2401" flags="s"
			file="${jetty.server.resources}/configuration/org.eclipse.virgo.kernel.userregion.properties"/>

		<replaceregexp match="initialArtifacts =.*\.springdm"
			replace="initialArtifacts=repository:plan/org.eclipse.virgo.kernel.userregion.springdm, repository:plan/org.eclipse.virgo.jetty.web" flags="s"
			file="${jetty.server.resources}/configuration/org.eclipse.virgo.kernel.userregion.properties"/>

		<replaceregexp match="virgo-kernel" replace="virgo-jetty-server" flags="g"
				file="${jetty.server.resources}/configuration/serviceability.xml"/>
	</target>

	<target name="package.docs" depends="ivy.init">
		<ivy:resolve resolveId="copy.path" file="${basedir}/docs-ivy.xml" transitive="false" conf="docs"/>
		<ivy:retrieve resolveId="copy.path" pattern="${basedir}/target/docs/[artifact]-[revision].[ext]" conf="docs" type="zip, pdf"/>

		<copy todir="${jetty.server.resources}/docs/user-guide/pdf" flatten="true">
			<fileset dir="${basedir}/target/docs">
				<include name="**/virgo-user-guide*.pdf"/>
			</fileset>
		</copy>

		<copy todir="${jetty.server.resources}/docs/programmer-guide/pdf" flatten="true">
			<fileset dir="${basedir}/target/docs">
				<include name="**/virgo-programmer-guide*.pdf"/>
			</fileset>
		</copy>

		<unzip dest="${jetty.server.resources}/docs/user-guide">
			<fileset dir="${basedir}/target/docs">
		        <include name="**/virgo-user-guide*.zip"/>
		    </fileset>
		</unzip>

		<unzip dest="${jetty.server.resources}/docs/programmer-guide">
			<fileset dir="${basedir}/target/docs">
		        <include name="**/virgo-programmer-guide*.zip"/>
		    </fileset>
		</unzip>

	</target>

	<target name="package.lib">
		<echo file="${jetty.server.resources}/lib/.version" append="true"
				message="virgo.server.version=${bundle.version}&#xa;"/>
	</target>

	<target name="package.pickup" depends="ivy.init">
		<ivy:resolve resolveId="copy.path" file="${basedir}/pickup-ivy.xml" transitive="true"/>
		<ivy:retrieve resolveId="copy.path" pattern="${jetty.server.resources}/pickup/[artifact]-[revision].[ext]" type="jar, war, wab" conf="pickup"/>
		<ivy:retrieve resolveId="copy.path" pattern="${jetty.server.resources}/pickup/[artifact]-[revision].[ext]" type="plan" conf="pickup-plan"/>
		<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact]-[revision].[ext]" type="jar, war, wab" conf="pickup-plan"/>
	</target>

	<target name="package.repository" depends="ivy.init">
		<ivy:resolve resolveId="copy.path" file="${basedir}/repository-ivy.xml" transitive="false"/>
		<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact]-[revision].[ext]" conf="ext" type="library,jar,plan"/>

		<ivy:resolve resolveId="copy.path" file="${basedir}/repository-ivy.xml" transitive="true"/>
		<ivy:retrieve resolveId="copy.path" pattern="${repository.ext}/[artifact]-[revision].[ext]" conf="transitive" type="library,jar,plan" />
		
		<copy todir="${repository.ext}" failonerror="false">
			<fileset dir="${basedir}/jettybundles"/>
		</copy>
	</target>

	<target name="package.resources">
		<copy todir="${jetty.server.resources}" failonerror="false">
			<fileset dir="${basedir}/resources"/>
		</copy>
	</target>
	
	<target name="package.jetty">
		<mkdir dir="${jetty.server.resources}/jetty"/>
		
		<copy todir="${jetty.server.resources}/jetty" failonerror="false">
			<fileset dir="${basedir}/jetty"/>
		</copy>		
	</target>
    
    <target name="package.jetty.scripts">
    
        <!-- \ must be double escaped \\\\ and new lines must be given with the ascii code thus the strange chars-->
		
		<replaceregexp match="# parse the standard arguments"
			replace="# parse the standard arguments &#10;    JETTY_HOME=$KERNEL_HOME/jetty" flags="m"
			file="${jetty.server.scripts}/bin/dmk.sh" />

		<replaceregexp match="-Djava.io.tmpdir"
			replace="-Djetty.home=$JETTY_HOME \\\\&#10;       -Djava.io.tmpdir" flags="m"
			file="${jetty.server.scripts}/bin/dmk.sh" />
		
		<replaceregexp match='set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Djava.io.tmpdir="%TMP_DIR%"'
			replace='set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Djetty.home="%KERNEL_HOME%\\\\jetty"&#10;      set KERNEL_JAVA_PARMS=%KERNEL_JAVA_PARMS% -Djava.io.tmpdir="%TMP_DIR%"' flags="m"
			file="${jetty.server.scripts}/bin/dmk.bat" />
    </target>
    
    <target name="publish-updatesite-download">
        <fail message="The 'project.name' property must be set on this project.">
            <condition>
                <not>
                    <isset property="project.name"/>
                </not>
            </condition>
        </fail>
        <checksum file="${updatesite.output.file}" algorithm="sha1"/>
        <sshexec host="build.eclipse.org" 
                username="${eclipse.committerId}" 
                keyfile="${key.file}" 
                passphrase="${passphrase}"
                command="mkdir -pv /home/data/httpd/download.eclipse.org/virgo/updatesite-zipped/${bundle.version}"/>
        <sshexec host="build.eclipse.org" 
                username="${eclipse.committerId}" 
                keyfile="${key.file}" 
                passphrase="${passphrase}"
                command="mkdir -pv /home/data/httpd/download.eclipse.org/virgo/updatesite/${bundle.version}"/>
        <scp localFile="${updatesite.output.file}"
                todir="${eclipse.committerId}@build.eclipse.org:/home/data/httpd/download.eclipse.org/virgo/updatesite-zipped/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
        <scp localFile="${updatesite.output.file}.sha1"
                todir="${eclipse.committerId}@build.eclipse.org:/home/data/httpd/download.eclipse.org/virgo/updatesite-zipped/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
        <sshexec host="build.eclipse.org" 
                username="${eclipse.committerId}" 
                keyfile="${key.file}" 
                passphrase="${passphrase}"
                command="unzip /home/data/httpd/download.eclipse.org/virgo/updatesite-zipped/${bundle.version}/${updatesite.file.name} -d /home/data/httpd/download.eclipse.org/virgo/updatesite/${bundle.version}"/>
    </target>

	<target name="smoke-test" description="Runs a smoke test on the packaged build">
		<path id="smoke.test.bundles">
			<pathelement location="${basedir}/../org.eclipse.virgo.jetty.smoketest" />
		</path>
		<antcall target="test.pre"/>
		<all-bundles target="test-package" buildpathRef="smoke.test.bundles">
			<property name="package.output.file" value="${package.output.file}"/>
			<property name="package.basename" value="${package.basename}"/>
			<property name="test-results.output.dir" value="${test-results.output.dir}"/>
		</all-bundles>
		<antcall target="test.post"/>
	</target>

</project>
