<?xml version="1.0"?>
<!--
     Copyright (c) 2005, 2012 IBM Corporation and others.
     All rights reserved. This program and the accompanying materials
     are made available under the terms of the Eclipse Public License v1.0
     which accompanies this distribution, and is available at
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
         IBM Corporation             - initial API and implementation
         Anna Dushistova(MontaVista) - extracted dstore related targets from customTargets.xml
 -->
<project name="Dstore server related targets" default="noDefault">
  <target name="noDefault">
    <echo message="You must specify a target when invoking this file"/>
  </target>
  <target name="serverruntime">
    <property name="working" value="${buildDirectory}/rseserver"/>
    <mkdir dir="${working}"/>
    <mkdir dir="${working}/jars"/>
    <copy todir="${working}">
	    <fileset dir="${buildDirectory}/rse/plugins/org.eclipse.rse.services.dstore/serverruntime" includes="**"/>
    </copy>
    <copy todir="${working}/jars">
	    <fileset dir="${buildDirectory}/rse/plugins/org.eclipse.dstore.core" includes="dstore_core.jar"/>
	    <fileset dir="${buildDirectory}/rse/plugins/org.eclipse.dstore.extra" includes="dstore_extra_server.jar"/>
	    <fileset dir="${buildDirectory}/rse/plugins/org.eclipse.rse.services" includes="clientserver.jar"/>
	    <fileset dir="${buildDirectory}/rse/plugins/org.eclipse.rse.services.dstore" includes="dstore_miners.jar"/>
    </copy>
    <antcall target="rseserver-os-tar">
      <param name="os" value="unix"/>
      <param name="eol" value="lf"/>
    </antcall>
    <antcall target="rseserver-os-tar">
      <param name="os" value="macosx"/>
      <param name="eol" value="lf"/>
    </antcall>
    <antcall target="rseserver-os-tar">
      <param name="os" value="linux"/>
      <param name="eol" value="lf"/>
    </antcall>
    <antcall target="rseserver-os-zip">
      <param name="os" value="windows"/>
      <param name="eol" value="crlf"/>
    </antcall>
    <delete dir="${working}"/>
  </target>
  <target name="rseserver-os-tar" depends="rseserver-os-collect">
    <tar destfile="${buildDirectory}/rseserver-${buildId}-${os}.tar">
      <tarfileset dir="${working}/collector" mode="755" includes="*.pl,*.sh"/>
      <tarfileset dir="${working}/collector" mode="644" excludes="*.pl,*.sh"/>
    </tar>
    <delete dir="${working}/collector"/>
  </target>
  <target name="rseserver-os-zip" depends="rseserver-os-collect">
    <zip destfile="${buildDirectory}/rseserver-${buildId}-${os}.zip" basedir="${working}/collector" includes="*"/>
    <delete dir="${working}/collector"/>
  </target>
  <target name="rseserver-os-collect">
    <mkdir dir="${working}/collector"/>
    <copy todir="${working}/collector">
      <fileset dir="${working}/scripts/${os}" includes="*"/>
      <fileset dir="${working}/data" includes="*"/>
    </copy>
    <replace file="${working}/collector/build.dat">
      <replacefilter token="@build@" value="${buildId}"/>
      <replacefilter token="@version@" value="${mapVersionTag}"/>
    </replace>
    <fixcrlf srcdir="${working}/collector" eol="${eol}" eof="asis" includes="*"/>
    <copy todir="${working}/collector">
      <fileset dir="${working}/jars" includes="*"/>
      <fileset dir="${builder}/rootfiles" includes="notice.html,epl-v10.html"/>
    </copy>
  </target>
  <!-- ===================================================================== -->
  <!-- Called after invoking the gather.bin.parts targets for all plugins    -->
  <!-- and features. Results exist as folders and have not yet been jarred.  -->
  <!-- ===================================================================== -->
  <!--  <target name="post.gather.bin.parts"> -->
<!--  <target name="hideServerStuff">
    <mkdir dir="${buildDirectory}/hidden"/>
    <move todir="${buildDirectory}/hidden">
      <fileset dir="${buildDirectory}/plugins">
        <include name="**/clientserver.jar"/>
        <include name="**/dstore_core.jar"/>
        <include name="**/dstore_extra_server.jar"/>
        <include name="**/dstore_miners.jar"/>
        <include name="**/clientserversrc.zip"/>
        <include name="**/dstore_coresrc.zip"/>
        <include name="**/dstore_extra_serversrc.zip"/>
        <include name="**/dstore_minerssrc.zip"/>
      </fileset>
    </move>
    <mkdir dir="${buildDirectory}/hidden.tmp"/>
    <move todir="${buildDirectory}/hidden.tmp">
      <fileset dir="${buildDirectory}/tmp">
        <include name="**/clientserver.jar"/>
        <include name="**/dstore_core.jar"/>
        <include name="**/dstore_extra_server.jar"/>
        <include name="**/dstore_miners.jar"/>
        <include name="**/clientserversrc.zip"/>
        <include name="**/dstore_coresrc.zip"/>
        <include name="**/dstore_extra_serversrc.zip"/>
        <include name="**/dstore_minerssrc.zip"/>
      </fileset>
    </move>
  </target>-->
  <!-- </target> -->
  <!-- ===================================================================== -->
  <!-- Called after all plugins and features have been jarred                -->
  <!-- (and potentially signed)                                              -->
  <!-- ===================================================================== -->
  <!-- <target name="post.jarUp"> -->
<!--  <target name="revealServerStuff">
    <move todir="${buildDirectory}/tmp">
      <fileset dir="${buildDirectory}/hidden.tmp" includes="**"/>
    </move>
    <delete dir="${buildDirectory}/hidden.tmp"/>
    <move todir="${buildDirectory}/plugins">
      <fileset dir="${buildDirectory}/hidden" includes="**"/>
    </move>
    <delete dir="${buildDirectory}/hidden"/>
  </target>
  -->
  <!-- </target> -->
</project>
