<!--
 *************************************************************************
 * Copyright (c) 2004, 2014 Actuate Corporation.
 * 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:
 *  Actuate Corporation - initial implementation
 *  
 *************************************************************************
-->

<project default="main">

	<taskdef resource="net/sf/antcontrib/antlib.xml"/>
        
        <property name="username" value="xgu"/>
        <property name="password" value="xx"/>
	<property name="hostname" value="build.eclipse.org"/>
	<property name="username_sign" value="${username}"/>
        <property name="password_sign" value="${password}"/>
        <property name="hostname_sign" value="build.eclipse.org"/>

        <property name="dtp.buildhome"  value="/home/adb/releng.dtp.1120"/>
        <property name="dtp.builddir"  value="${dtp.buildhome}/org.eclipse.datatools.releng.builder"/>
        <property name="postingDirectory" value="/home/adb/releng/BIRTOutput/dtp.output/1.12.0"/>

        <property name="upload_workdir" value="${dtp.builddir}/uploadScripts/workdir"/>
        <property name="sign_path" value="${upload_workdir}/UpdateSiteUpload"/>
        <property name="LocalUpdatesiteDir" value="${upload_workdir}/UpdateSite/dtp_1.12.0"/>
	<property name="DTP.website.repo"  value="${dtp.builddir}/uploadScripts/datatools"/>
        <property file="${postingDirectory}/monitor.properties"/>
        <property name="local_dtp_path" value="${postingDirectory}/${buildId}"/>
        <property name="eclipse_dtp_path" value="~/downloads/datatools/downloads/drops/N_DTP_1.12.0"/>
        <property name="eclipse_staging_path" value="/home/data/httpd/download-staging.priv/birt"/>
        <!--property name="local_version" value="RC1"/-->
        <property name="M_version" value="M7"/>


        <tstamp prefix="timestamp">
            <format property="date" pattern="yyyyMMdd" locale="en" />
        </tstamp>

	<target name="checkMonitor">
            <available property="isUpload" file="${postingDirectory}/monitor.properties" />
        </target>
	
	<target name="main" depends="checkMonitor" if="isUpload">
           <if>
             <equals arg1="${compileHasError}" arg2="false"/>
             <then>
               <echo file="${dtp.buildhome}/dtpURLmonitor.properties">
dtpURL=http://download.eclipse.org/datatools/downloads/drops/N_DTP_1.12.0/dtp-1.12.0${M_version}-${timestamp}.zip
dtpSdkURL=http://download.eclipse.org/datatools/downloads/drops/N_DTP_1.12.0/dtp-sdk-1.12.0${M_version}-${timestamp}.zip
dtpP2URL=http://download.eclipse.org/datatools/downloads/drops/N_DTP_1.12.0/dtp-p2repo-1.12.0${M_version}-${timestamp}.zip
file-version=dtp-1.12.0${M_version}-${timestamp}
SdkFileVersion=dtp-sdk-1.12.0${M_version}-${timestamp}
P2FileVersion=dtp-p2repo-1.12.0${M_version}-${timestamp}
currentDay=${timestamp.date}
               </echo>
	       <ant antfile="dtplogupload.1.12.0.xml" target="main"/>
               <antcall target="dtpupload"/>
               <antcall target="dtpP2upload"/>
               <!--antcall target="signing"/-->
               <antcall target="updategitfile"/>
               <antcall target="inform"/>
               <antcall target="finishlogupload"/>
             </then>
             <elseif>
               <equals arg1="${compileHasError}" arg2="true"/>
               <then>
                 <antcall target="CompileError"/>
               </then>
             </elseif>
             <else>
               <antcall target="BuildError"/>
             </else>
           </if>
        </target>
        
        <target name="dtpupload"> 
           <property name="temp.dir" value="${dtp.builddir}/uploadScripts/workdir/temp"/>
           <tstamp>
               <format property="dtp.upload.start" pattern="yyyy-MM-dd HH:mm:ss"/>
           </tstamp>
           <echo message="Start to dtp upload at ${dtp.upload.start}"/>
           <scp todir="${username}:${password}@${hostname}:${eclipse_dtp_path}" trust="true">
	     <fileset dir="${local_dtp_path}" includes="dtp-sdk-1.12.0${M_version}-${timestamp}.zip,dtp-1.12.0${M_version}-${timestamp}.zip,dtp-p2repo-1.12.0${M_version}-${timestamp}.zip"/>
           </scp>
           <scp remoteTofile="${username}:${password}@${hostname}:${eclipse_dtp_path}/directory_N.txt" trust="true"
                file="${local_dtp_path}/directory.txt"/>
           <sshexec host="${hostname}" username="${username}" password="${password}" trust="true"
                    command="chmod g+w ${eclipse_dtp_path}/dtp-*1.12.0${M_version}-${timestamp}.zip ${eclipse_dtp_path}/directory_N.txt" />
	</target>

        <target name="dtpP2upload">
           <sshexec host="${hostname}" username="${username}" password="${password}" trust="true"
                    command="unzip -q -o ${eclipse_dtp_path}/dtp-p2repo-1.12.0${M_version}-${timestamp}.zip -d ${eclipse_dtp_path}/../N_updates_1.12.0/${buildId}"/>
           <scp todir="${username}:${password}@${hostname}:${eclipse_dtp_path}/../N_updates_1.12.0" trust="true">
             <fileset dir="${LocalUpdatesiteDir}" includes="compositeArtifacts.jar,compositeContent.jar"/>
           </scp>
           <sshexec host="${hostname}" username="${username}" password="${password}" trust="true"
                    command="chmod -R g+w ${eclipse_dtp_path}/../N_updates_1.12.0/*.jar ${eclipse_dtp_path}/../N_updates_1.12.0/${buildId}" />
        </target>

        <target name="signing">
           <sshexec host="${hostname_sign}" username="${username_sign}" password="${password_sign}" trust="true"
                    command="cd ${eclipse_staging_path};cp ${eclipse_dtp_path}/*1.12.0${M_version}-${timestamp}.zip ./;sign dtp-sdk-1.12.0${M_version}-${timestamp}.zip nomail;sign dtp-1.12.0${M_version}-${timestamp}.zip nomail;sign dtp-incubator-sdk-1.12.0${M_version}-${timestamp}.zip nomail;sign dtp-incubator-1.12.0${M_version}-${timestamp}.zip nomail"/>
           <sleep minutes="50"/>
           <scp todir="${sign_path}/SignPack" trust="true"
                file="${username_sign}:${password_sign}@${hostname_sign}:${eclipse_staging_path}/dtp-sdk-1.12.0${M_version}-${timestamp}.zip"/>
           <copy todir="${local_dtp_path}" failonerror="false" overwrite="true">
             <fileset dir="${sign_path}/SignPack" includes="dtp-sdk-1.12.0${M_version}-${timestamp}.zip"/>
           </copy>
           <scp todir="${sign_path}/SignPack" trust="true"
                file="${username_sign}:${password_sign}@${hostname_sign}:${eclipse_staging_path}/dtp-1.12.0${M_version}-${timestamp}.zip"/>
           <copy todir="${local_dtp_path}" failonerror="false" overwrite="true">
             <fileset dir="${sign_path}/SignPack" includes="dtp-1.12.0${M_version}-${timestamp}.zip"/>
           </copy>
           <scp todir="${sign_path}/SignPack" trust="true"
                file="${username_sign}:${password_sign}@${hostname_sign}:${eclipse_staging_path}/dtp-incubator-sdk-1.12.0${M_version}-${timestamp}.zip"/>
           <copy todir="${local_dtp_path}" failonerror="false" overwrite="true">
             <fileset dir="${sign_path}/SignPack" includes="dtp-incubator-sdk-1.12.0${M_version}-${timestamp}.zip"/>
           </copy>
           <scp todir="${sign_path}/SignPack" trust="true"
                file="${username_sign}:${password_sign}@${hostname_sign}:${eclipse_staging_path}/dtp-incubator-1.12.0${M_version}-${timestamp}.zip"/>
           <copy todir="${local_dtp_path}" failonerror="false" overwrite="true">
             <fileset dir="${sign_path}/SignPack" includes="dtp-incubator-1.12.0${M_version}-${timestamp}.zip"/>
           </copy>
           <scp todir="${username}:${password}@${hostname}:${eclipse_dtp_path}" trust="true">
             <fileset dir="${sign_path}/SignPack" includes="dtp-sdk-1.12.0${M_version}-${timestamp}.zip,dtp-1.12.0${M_version}-${timestamp}.zip,dtp-incubator-sdk-1.12.0${M_version}-${timestamp}.zip,dtp-incubator-1.12.0${M_version}-${timestamp}.zip,directory.txt"/>
           </scp>
       </target>
      
        <target name="updategitfile">
           <property file="lastmonitor_N_1120.properties"/>
           <property file="lastmonitor_I_1120.properties"/>
           <tstamp>
               <format property="downloads.php.pattern" pattern="M/d/yy"/> 
           </tstamp>
           <tstamp>
               <format property="todayinweek" pattern="E"/>
           </tstamp>

           <!--cvs command="update -C downloads.php" dest="www/datatools"/-->
	   <echo message="Git pull ${DTP.website.repo}"/>
           <exec executable="git" dir="${DTP.website.repo}">
             <arg line="pull origin master" />
           </exec>

           <echo message="Updating downloads.php matching pattern: dtp-sdk-1\.12\.0${lastMversion_N}-${lasttimestamp_N}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_N} SDK.*Nightly Build(.*)dtp-sdk-1\.12\.0${lastMversion_N}-${lasttimestamp_N}"/>
           <replaceregexp file="${DTP.website.repo}/downloads.php"
                          match="dtp-sdk-1\.12\.0${lastMversion_N}-${lasttimestamp_N}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_N} SDK.*Nightly Build(.*)dtp-sdk-1\.12\.0${lastMversion_N}-${lasttimestamp_N}"
                          replace="dtp-sdk-1.12.0${M_version}-${timestamp}.zip\1\2DTP 1.12.0${M_version} SDK ${downloads.php.pattern} Nightly Build\3dtp-sdk-1.12.0${M_version}-${timestamp}"/>
           <replaceregexp file="${DTP.website.repo}/downloads.php"
                          match="dtp-1\.12\.0${lastMversion_N}-${lasttimestamp_N}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_N}.*Nightly Build(.*)dtp-1\.12\.0${lastMversion_N}-${lasttimestamp_N}" 
                          replace="dtp-1.12.0${M_version}-${timestamp}.zip\1\2DTP 1.12.0${M_version} ${downloads.php.pattern} Nightly Build\3dtp-1.12.0${M_version}-${timestamp}"/>
           <replaceregexp file="${DTP.website.repo}/downloads.php"
                          match="dtp-p2repo-1\.12\.0${lastMversion_N}-${lasttimestamp_N}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_N} P2 Repo.*Nightly Build(.*)dtp-p2repo-1\.12\.0${lastMversion_N}-${lasttimestamp_N}"
                          replace="dtp-p2repo-1.12.0${M_version}-${timestamp}.zip\1\2DTP 1.12.0${M_version} P2 Repo ${downloads.php.pattern} Nightly Build\3dtp-p2repo-1.12.0${M_version}-${timestamp}"/>
           <!--replaceregexp file="${DTP.website.repo}/downloads.php"
                          match="dtp-incubator-sdk-1\.12\.0${lastMversion_N}-${lasttimestamp_N}\.zip(.*)(\s*)DTP Incubator 1\.12\.0${lastMversion_N} SDK.*Nightly Build(.*)dtp-incubator-sdk-1\.12\.0${lastMversion_N}-${lasttimestamp_N}"
                          replace="dtp-incubator-sdk-1.12.0${M_version}-${timestamp}.zip\1\2DTP Incubator 1.12.0${M_version} SDK ${downloads.php.pattern} Nightly Build\3dtp-incubator-sdk-1.12.0${M_version}-${timestamp}"/>
           <replaceregexp file="${DTP.website.repo}/downloads.php"
                          match="dtp-incubator-1\.12\.0${lastMversion_N}-${lasttimestamp_N}\.zip(.*)(\s*)DTP Incubator 1\.12\.0${lastMversion_N}.*Nightly Build(.*)dtp-incubator-1\.12\.0${lastMversion_N}-${lasttimestamp_N}"
                          replace="dtp-incubator-1.12.0${M_version}-${timestamp}.zip\1\2DTP Incubator 1.12.0${M_version} ${downloads.php.pattern} Nightly Build\3dtp-incubator-1.12.0${M_version}-${timestamp}"/-->
           <if>
              <equals arg1="${todayinweek}" arg2="Fri"/>
              <then>
                 <replaceregexp file="${DTP.website.repo}/downloads.php"
                                match="dtp-sdk-1\.12\.0${lastMversion_I}-${lasttimestamp_I}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_I} SDK.*I-Build(.*)dtp-sdk-1\.12\.0${lastMversion_I}-${lasttimestamp_I}"
                                replace="dtp-sdk-1.12.0${M_version}-${timestamp}.zip\1\2DTP 1.12.0${M_version} SDK ${downloads.php.pattern} I-Build\3dtp-sdk-1.12.0${M_version}-${timestamp}"/>
                 <replaceregexp file="${DTP.website.repo}/downloads.php"
                                match="dtp-1\.12\.0${lastMversion_I}-${lasttimestamp_I}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_I}.*I-Build(.*)dtp-1\.12\.0${lastMversion_I}-${lasttimestamp_I}"
                                replace="dtp-1.12.0${M_version}-${timestamp}.zip\1\2DTP 1.12.0${M_version} ${downloads.php.pattern} I-Build\3dtp-1.12.0${M_version}-${timestamp}"/>
                 <replaceregexp file="${DTP.website.repo}/downloads.php"
                                match="dtp-p2repo-1\.12\.0${lastMversion_I}-${lasttimestamp_I}\.zip(.*)(\s*)DTP 1\.12\.0${lastMversion_I} P2 Repo.*I-Build(.*)dtp-p2repo-1\.12\.0${lastMversion_I}-${lasttimestamp_I}"
                                replace="dtp-p2repo-1.12.0${M_version}-${timestamp}.zip\1\2DTP 1.12.0${M_version} P2 Repo ${downloads.php.pattern} I-Build\3dtp-p2repo-1.12.0${M_version}-${timestamp}"/>
                 <scp remoteTofile="${username}:${password}@${hostname}:${eclipse_dtp_path}/directory_I.txt" trust="true"
                      file="${local_dtp_path}/directory.txt"/>
           	 <sshexec host="${hostname}" username="${username}" password="${password}" trust="true"
                    command="chmod g+w ${eclipse_dtp_path}/directory_I.txt" />
              </then>
           </if>
           
           <!--cvs command="commit -m 'update for 1.12.0 nightly build ${buildId}' downloads.php" dest="www/datatools"/-->
           <exec executable="git" dir="${DTP.website.repo}">
             <arg line="commit -a -m 'Update for 1.12.0 Nightly Build ${buildId}'" />
           </exec>
           <exec executable="git" dir="${DTP.website.repo}">
             <arg line="push origin master" />
           </exec>

           <echo file="lastmonitor_N_1120.properties">
lasttimestamp_N=${timestamp}
lastMversion_N=${M_version}
</echo>
           <if>
              <equals arg1="${todayinweek}" arg2="Fri"/>
              <then>
                 <echo file="lastmonitor_I_1120.properties">
lasttimestamp_I=${timestamp}
lastMversion_I=${M_version}
</echo>
              </then>
           </if>
        </target>


        <target name="inform">
 
           <mail from="DAILYBUILD@QA-SHA" tolist="xgu@actuate.com,lchan@actuate.com,bpayton@us.ibm.com" mailport="5025" 
                 subject="Today's DTP 1.12.0 daily build is available (${buildId})">
             <message>
Hi All,

Today's DTP daily build is available at:

SDK package: http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.12.0/dtp-sdk-1.12.0${M_version}-${timestamp}.zip  

Non-SDK package: http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.12.0/dtp-1.12.0${M_version}-${timestamp}.zip  

P2 Repo package: http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.12.0/dtp-p2repo-1.12.0${M_version}-${timestamp}.zip  
             </message>
           </mail>
        </target>

        <target name="finishlogupload">
          <ant antfile="dtplogupload.1.12.0.xml" target="copytoeclipse">
            <property name="up_status" value="finish"/>
          </ant>
        </target> 

        <target name="CompileError">
                <property file="${dtp.builddir}/monitor.properties" />
                <property file="${dtp.builddir}/config.properties" />
                <echo message="${mail.port}"/>
                <echo message="${buildId}"/>
                <echo message="${COMPILE.ERROR.RECIPIENTS}"/>
                <echo message="${mail.from}"/>
                <echo message="${replyto.address}"/>
                <echo message="${error.plugin.list}"/>

                <echo message="compile log location: ${postingDirectory}/${buildId}/compilelogs/plugins"/>
                <mail mailport="${mail.port}" subject="Compile errors found in Today's Datatools 1.12.0 Build (BuildId: ${buildId} )" tolist="${COMPILE.ERROR.RECIPIENTS}">
                    <from address="${mail.from}"/>
                    <replyto address="${replyto.address}"/>
                    <message>

Hi All,

Compile errors are found in today's DTP 1.12.0 build(BuildId: ${buildId}):

${error.plugin.list}

Please see the attachments for details.

Have a nice day!

                    </message>

                  <attachments>
                    <fileset dir="${postingDirectory}/${buildId}/compilelogs/plugins">
                       <include name="*compilelog.html"/>
                    </fileset>
                  </attachments>
                </mail>

        </target>

        <target name="BuildError">
                <property file="${dtp.builddir}/monitor.properties" />
                <property file="${dtp.builddir}/config.properties" />
                <mail mailport="${mail.port}" subject="Build errors found in Today's Datatools 1.12.0 Build (BuildId: ${buildId} )" tolist="${BUILD.ERROR.RECIPIENTS}">
                    <from address="${mail.from}"/>
                    <replyto address="${replyto.address}"/>
                    <message>

Hi All,

Build errors are found in today's DTP 1.12.0 build(BuildId: ${buildId}):

Please refer to build.log for details: 

http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.12.0/build.log

Have a nice day!

                    </message>
                </mail>

        </target>

</project>
