<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="./ant2html.xsl"?>

<!--
  ===========================================================================
     File:  build.xml

  Purpose:  Provide an example of a large build file.

  ===========================================================================

  Primary Targets   Usage
  ................  ......................................................

  init              Initializes the build tree.

  compile           Compiles all sources files whose object files are
                    out of date with repsect to the source.

  package           Creates the intermediate package elements (e.g.,
                    jar files, war files, etc.).

  images            Builds the product images.

  nls               Performs the required processing of internationalization
                    files.

  clean             Cleans the build tree of files and directories generated
                    by the build process.

    Notes:  1. Default properties may be overridden using a local build
               properties file (${basedir}/BigBuild-ant.properties), or a local
               user properties file (${user.home}/BigBuild-ant.properties).  If
               both files are present, a value contained in the user file
               takes precedence.

            2. Developers who wish to bypass the InstallShield portion of
               this process should use the "developer" target.  See the
               specific target definition, below, for additional details.

  ===========================================================================
-->

<project name="BigBuild" default="main" basedir=".">
  <description>

    Sample build file.

  </description>

  <!--
    =========================================================================
      Properties
    =========================================================================
  -->

  <!-- Define the property file name. -->
  <property name="propfile"      value="${ant.project.name}-ant.properties"/>

  <!-- Give the user a chance to override without editing this file (and
       without typing -D each time they run it). -->
  <property file="${user.home}/${propfile}"/>
  <property file="${basedir}/${propfile}"/>

  <!-- Define version-specific values. -->
  <property file="${ant.project.name}-version.properties"/>

  <property environment="big"/>
  <property name="ismp50"        value="${big.ISMP50}"/>
  <property name="bigmut"        value="${big.BIGMUT}"/>
  <property file="build.properties"/>
  <property name="copyVerbose"   value="false"/>

  <property name="debug"         value="true"/>
  <property name="deprecation"   value="false"/>
  <property name="optimize"      value="true"/>

  <description>

    * Miscellaneous root location property settings:

  </description>
  <property name="root"                location="${basedir}"/>
  <property name="root.plugin"         location="${root}/pluginroot"/>
  <property name="root.predefined"     location="${root}/predefined"/>
  <property name="root.plugindoc"      location="${root}/studioDoc/pluginroot"/>

  <description>

    * Source location property settings:

  </description>
  <property name="src"                 location="${root}/src"/>
  <property name="src.instmgr"         location="${src}/instmgr"/>
  <property name="src.install"         location="${src}/install"/>
  <property name="src.install.toolkit" location="${src.install}/toolkit"/>
  <property name="src.studio_nls"      location="${src.instmgr}/studio_nls"/>
  <property name="src.lap"             location="${root}/LAP"/>

  <description>

    * Export location property settings:

  </description>
  <property name="exp"                 location="${root}/export"/>
  <property name="exp.base"            location="${root}/exportbase"/>
  <property name="exp.instmgr"         location="${exp}/instmgr"/>
  <property name="exp.studioruntime"   location="${exp}/comstudioruntime"/>
  <property name="exp.studiofixutil"   location="${exp}/comstudiofixutil"/>
  <property name="exp.bigroot"         location="${exp}/bigroot"/>
  <property name="exp.studio"          location="${exp}/studioeclipse"/>
  <property name="exp.studio.base"     location="${exp.studio}/com.ibm.big"/>
  <property name="exp.studio.doc"      location="${exp.studio}/com.ibm.big.doc"/>


  <description>

    * Lib path properties:

  </description>
  <property name="lib"                 location="${root}/lib"/>
  <property name="lib.ismp"            location="${ismp50}/lib"/>
  <property name="lib.wsad51"           location="${lib}/wsad51"/>

  <description>

    * Image location property settings:

  </description>
  <property name="img"                 location="${root}/ship"/>
  <property name="img.doc"             location="${img}/doc"/>

  <description>

    * MUT property settings:

  </description>
  <property name="mut"                 location="${big1mut}"/>
  <property name="mut.jre"             location="${mut}/win_jre_131"/>

  <description>

    * File definition properties:

  </description>
  <property name="jar.lapbean"   value="${src.lap}/LA_Bean/lapbean45.jar"/>

  <property name="jar.big"       value="${exp}/big.jar"/>
  <property name="jar.studio"    value="${exp.studio.base}/lib/bigstudio.jar"/>
  <property name="jar.runtime"   value="${exp.studio.base}/predefined/projects/earProject/lib/bigruntime.jar"/>
  <property name="jar.common"    value="${exp.studio.base}/predefined/projects/earProject/lib/bigcommon.jar"/>
  <property name="jar.install"   value="${exp}/biginstall.jar"/>

  <property name="war.big"       value="${exp}/BIG.war"/>

  <description>

     * NLS properties:

  </description>
  <property name="lst.n2a"        value="native2ascii.lst"/>
  <property name="lst.n2utf"      value="native2utf8.lst"/>
  <property name="lst.jsp2utf"    value="jsp2utf8.lst"/>
  <property name="nls.working"    value="${root}/nls_working"/>
  <property name="nls.tmp"        value="${nls.working}/nls_temp_dir"/>
  <property name="nls.tmputf"     value="${nls.working}/nls_temp_utf_dir"/>

  <!--
    =========================================================================
      Classpaths
    =========================================================================
  -->


  <description>

    * eclipse classpath.

  </description>
  <path id="eclipse.classpath">
    <fileset dir="${lib.wsad51}">
      <include name="*.jar"/>
    </fileset>

    <fileset dir="${lib}">
      <include name="*.jar"/>
      <exclude name="xerces.jar"/>
    </fileset>

  </path>


  <description>

    * Classpath for runtime which runs on top of studio.

  </description>
  <path id="runtimestudio.classpath">
    <fileset dir="${lib}">
      <include name="x*.jar"/>
    </fileset>
    <fileset dir="${lib.wsad51}">
      <include name="*.jar"/>
    </fileset>
    <fileset dir="${lib}">
      <include name="h*.jar"/>
    </fileset>
    <fileset dir="${lib}">
      <include name="ibmjlog.jar"/>
    </fileset>

  </path>

  <description>

    * Install classpath.

  </description>
  <path id="install.classpath">
    <fileset dir="${lib.ismp}">
      <include name="wizard.jar"/>
      <include name="platform.jar"/>
      <include name="product.jar"/>
    </fileset>

    <fileset dir="${src.install.toolkit}">
      <include name="*.jar"/>
    </fileset>

    <pathelement location="${ismp50}/ppk/win32ppk.jar"/>
  </path>

  <description>

    * ISMP classpath.

  </description>
  <path id="ismp.classpath">

    <pathelement location="${ismp50}/ppk/win32ppk.jar"/>
    <pathelement location="${ismp50}/ppk/linuxppk.jar"/>
    <pathelement location="${ismp50}/ppk/solarisppk.jar"/>
    <pathelement location="${ismp50}/ppk/hpuxppk.jar"/>
    <pathelement location="${ismp50}/ppk/aixppk.jar"/>
    <pathelement location="${ismp50}/ppk/cimppk.jar"/>
    <pathelement location="${ismp50}/ppk/as400ppk.jar"/>
    <pathelement location="${ismp50}/ppk/webppk.jar"/>
    <pathelement location="${ismp50}/ppk/macosxppk.jar"/>
    <pathelement location="${ismp50}/ppk/genericunixppk.jar"/>
    <pathelement location="${jar.install}"/>
    <pathelement location="${jar.lapbean}"/>
    <pathelement location="${root}/export/com/ibm/big/install/res/*.properties"/>

    <fileset dir="${src.install.toolkit}">
      <include name="*.jar"/>
    </fileset>

    <pathelement location="${ismp50}/lib/ide.jar"/>
    <pathelement location="${ismp50}/lib/platform.jar"/>
    <pathelement location="${ismp50}/lib/wizard.jar"/>
    <pathelement location="${ismp50}/lib/product.jar"/>
    <pathelement location="${ismp50}/lib/help.jar"/>
    <pathelement location="${ismp50}/lib/swing.jar"/>
    <pathelement location="${ismp50}/lib/jhall.jar"/>
    <pathelement location="${ismp50}/lib/parser.jar"/>
    <pathelement location="${ismp50}/lib/xt.jar"/>
    <pathelement location="${ismp50}/lib/icebrowserbean.jar"/>
    <pathelement location="${ismp50}/lib/icebrowserlitebean.jar"/>

    <pathelement location="${ismp50}/i18n"/>

    <pathelement location="${root}/lib/jt400.jar"/>

  </path>

  <description>
    =========================================================================
       Target:  clean

      Purpose:  Clean build tree.
    =========================================================================
  </description>
  <target name="clean"
          description="Removes all files from build tree">
    <delete dir="${exp}"/>
    <delete dir="${exp.base}"/>
    <delete dir="${img}"/>
    <delete>
      <fileset dir="${root}">
        <include name="${release}_${level}.*"/>
      </fileset>
    </delete>

  </target>


  <description>
    =========================================================================
       Target:  clean_build

      Purpose:  This target is used by the build department to not only
                remove all the build directories but also the processed PII.
    =========================================================================
  </description>
  <target name="clean_build"
          description="Removes all files from build tree"
          depends="clean">

    <delete dir="${nls.working}"/>

  </target>


  <description>
    =========================================================================
       Target:  init

      Purpose:  Initializes the build process.
    =========================================================================
  </description>
  <target name="init"
          depends="piiinit">
    <tstamp/>

    <mkdir dir="${exp.base}"/>

    <mkdir dir="${exp.studioruntime}"/>
    <mkdir dir="${exp.studiofixutil}"/>
    <mkdir dir="${exp.studio.base}/predefined"/>
    <mkdir dir="${exp.studio.base}/service/lib"/>
    <mkdir dir="${exp.studio.base}/service/nls"/>
    <mkdir dir="${exp.studio.base}/lib"/>
    <mkdir dir="${exp.studio.doc}"/>
    <mkdir dir="${exp.instmgr}"/>
    <mkdir dir="${exp.bigroot}"/>

    <mkdir dir="${img}/instmgr/win"/>
    <mkdir dir="${img.doc}"/>

    <mkdir dir="${root.predefined}/projects/new/Web Content/WEB-INF/lib"/>
    <mkdir dir="${root.predefined}/projects/earProject/lib"/>
    <mkdir dir="${root.predefined}/projects/new/Java Source"/>
    <mkdir dir="${root.predefined}/projects/new/screens"/>
    <mkdir dir="${root.predefined}/projects/ejbProject/ejbModule"/>
    <mkdir dir="${root.predefined}/projects/ejbProject/imported_classes"/>

    <copy todir="${src}"
          verbose="${copyVerbose}">
      <mapper type="glob" from="*_en.properties" to="*.properties"/>
      <fileset dir="${src}">
        <include name="**/*.properties"/>
      </fileset>
    </copy>

    <copy todir="${root.plugin}"
          verbose="${copyVerbose}">
      <mapper type="glob" from="*_en.properties" to="*.properties"/>
      <fileset dir="${root.plugin}">
        <include name="**/*.properties"/>
      </fileset>
    </copy>

    <copy todir="${exp}"
          verbose="${copyVerbose}">
      <fileset dir="${src}">
        <include name="**/*.properties"/>
        <include name="**/*.xml"/>

        <exclude name="instmgr/**/*"/>
      </fileset>
    </copy>


    <!-- copy nls processed PII
         all .properties file in the src directory to export
    -->
    <copy todir="${exp}"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${nls.tmp}/src">
        <include name="**/*.properties"/>
        <include name="**/*.xml"/>
        <exclude name="instmgr/**/*"/>
      </fileset>
    </copy>


    <copy todir="${exp}/bigstudio/com.ibm.big"
          verbose="${copyVerbose}">
      <fileset dir="${src}">
        <include name="server.properties"/>
      </fileset>
    </copy>

    <copy todir="${exp.base}/prt"
          overwrite="yes"
          verbose="${copyVerbose}">
       <fileset dir="${root}/prt"/>
    </copy>

    <copy todir="${exp.base}/rtprop"
          overwrite="yes"
          verbose="${copyVerbose}">
       <fileset dir="${root}/rtprop"/>
    </copy>

    <!--
        Copy the hod sslight zipped classes to a jar format
    -->
    <copy file="${root}/tools/keyrng.zip"
          tofile="${lib}/keyrng.jar"
          verbose="${copyVerbose}"/>

    <copy file="${lib}/ibmjlog.jar"
          tofile="${root.predefined}/projects/earProject/lib/ibmjlog.jar"
          verbose="${copyVerbose}"/>
    <copy file="${lib}/habeansnlv.jar"
          tofile="${root.predefined}/projects/earProject/lib/habeansnlv.jar"
          verbose="${copyVerbose}"/>
    <copy todir="${root.predefined}/projects/en/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <!-- 23472 -->
    <copy todir="${root.predefined}/projects/ar/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/de/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/es/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/fr/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/he/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/it/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/ja/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/ko/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/pt_BR/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/zh/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>
    <copy todir="${root.predefined}/projects/zh_TW/new"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}/projects/new">
        <include name="**/common/images/**"/>
        <include name="**/common/stylesheets/**"/>
      </fileset>
    </copy>

    <!-- 22628 -->
    <copy todir="${img}"
          verbose="${copyVerbose}">
      <fileset dir="${src}/apache">
        <include name="license.txt"/>
      </fileset>
    </copy>

    <!-- 24007 Filter the version number into plugin.xml -->
    <replace
          file="${root}/plugin.xml"
          propertyfile="${root}/build.properties">
       <replacefilter
          token="@version@"
          property="version"/>
    </replace>
    <!-- 24007 Filter the version number into studioDoc/pluginroot/plugin.xml -->
    <replace
          file="${root}/studioDoc/pluginroot/plugin.xml"
          propertyfile="${root}/build.properties">
       <replacefilter
          token="@version@"
          property="version"/>
    </replace>

    <!--
        Timestamp the runtime for better problem determination (it gets traced by EntryServlet)  @BH
    -->
    <tstamp>
      <format property="runtime.build" pattern="yyyyMMdd_HHmm"/>
    </tstamp>
    <echo file="${src}/com/ibm/big/util/BuildID.java">
      /* This file built automatically by build.xml */
      package com.ibm.big.util;
      public class BuildID {
        public static final String RUNTIME_BUILD_NUMBER = "${runtime.build}";
        public static void main (String[] args)
        {System.out.println("BIG Runtime build #"+RUNTIME_BUILD_NUMBER); }
      }
    </echo>
  </target>


  <description>
    =========================================================================
       Target:  piitest

      Purpose:  This tasks tests for the existence of the nls_temp_dir meaning
                piiinit has already been run
    =========================================================================
  </description>

  <target name="piitest">
     <available file="${nls.tmp}" type="dir" property="do-pii"/>
  </target>


  <description>
    =========================================================================
       Target:  piiinit

      Purpose:  Prepare the PII files

      Dependencies:  Must run this section with a fresh extract of PII from CMVC.
                     Running a second time on converted files will corrupt the
                     files.  To run this target the do-pii property must be
                     defined.  This property is defined by the "main" target
                     which is the target of the complete and normal build.
    =========================================================================
  </description>

  <target name="piiinit"
          unless="do-pii"
          depends="piitest">

    <!-- create temporary working directories -->
    <mkdir dir="${nls.tmp}"/>
    <mkdir dir="${nls.tmputf}"/>

    <!-- nls.langname is the text description of the language being processed  -->
    <!-- nls.suffix is the locale name used in file names                      -->
    <!-- nls.docdir is the locale name used in the directory structure         -->
    <!-- nls.encoding.px is for the n2a conversion of properties and xml files -->
    <!-- nls.encoding.hj is for the n2a conversion of jsp files                -->
    <!-- nls.iso is the string to search and replace with UTF-8 in xml and jsp files -->
    <!-- nls.isolower is an alternate search string for the one above          -->

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="English"/>
       <property name="nls.suffix"          value="en"/>
       <property name="nls.docdir"          value="/en/"/>
       <property name="nls.encoding.px"     value="Cp850"/>
       <property name="nls.encoding.hj"     value="Cp1252"/>
       <property name="nls.iso"             value="ISO-8859-1"/>
       <property name="nls.isoLower"        value="iso-8859-1"/>
    </ant>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Brazilian Portuguese"/>
       <property name="nls.suffix"          value="pt_BR"/>
       <property name="nls.docdir"          value="/pt_BR/"/>
       <property name="nls.encoding.px"     value="Cp850"/>
       <property name="nls.encoding.hj"     value="Cp1252"/>
       <property name="nls.iso"             value="ISO-8859-1"/>
       <property name="nls.isoLower"        value="iso-8859-1"/>
    </ant>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="French"/>
       <property name="nls.suffix"          value="fr"/>
       <property name="nls.docdir"          value="/fr/"/>
       <property name="nls.encoding.px"     value="Cp850"/>
       <property name="nls.encoding.hj"     value="Cp1252"/>
       <property name="nls.iso"             value="ISO-8859-1"/>
       <property name="nls.isoLower"        value="iso-8859-1"/>
    </ant>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Italian"/>
       <property name="nls.suffix"          value="it"/>
       <property name="nls.docdir"          value="/it/"/>
       <property name="nls.encoding.px"     value="Cp850"/>
       <property name="nls.encoding.hj"     value="Cp1252"/>
       <property name="nls.iso"             value="ISO-8859-1"/>
       <property name="nls.isoLower"        value="iso-8859-1"/>
    </ant>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Japanese"/>
       <property name="nls.suffix"          value="ja"/>
       <property name="nls.docdir"          value="/ja/"/>
       <property name="nls.encoding.px"     value="SJIS"/>
       <property name="nls.encoding.hj"     value="SJIS"/>
       <property name="nls.iso"             value="Shift_JIS"/>
       <property name="nls.isoLower"        value="shift_jis"/>
    </ant>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Korean"/>
       <property name="nls.suffix"          value="ko"/>
       <property name="nls.docdir"          value="/ko/"/>
       <property name="nls.encoding.px"     value="KSC5601"/>
       <property name="nls.encoding.hj"     value="KSC5601"/>
       <property name="nls.iso"             value="EUC-KR"/>
       <property name="nls.isoLower"        value="euc-kr"/>
    </ant>

    <!-- Remove the italics tags in the .jsp files. -->
    <replace dir="${nls.tmp}"
             includesfile="${nls.working}/${lst.jsp2utf}-ko"
             encoding="UTF8"
             summary="yes">
             <replacefilter
                token="&lt;I&gt;"
                value=""/>
             <replacefilter
                token="&lt;i&gt;"
                value=""/>
             <replacefilter
                token="&lt;/I&gt;"
                value=""/>
             <replacefilter
                token="&lt;/i&gt;"
                value=""/>
    </replace>

    <!-- Remove the bold tags in the BIGContexts.xml file. -->
    <replace dir="${nls.tmp}"
             includes="studioDoc/xml/nl/ko/HelpContexts.xml"
             encoding="UTF8"
             summary="yes">
             <replacefilter
                token="&lt;B&gt;"
                value=""/>
             <replacefilter
                token="&lt;b&gt;"
                value=""/>
             <replacefilter
                token="&lt;/B&gt;"
                value=""/>
             <replacefilter
                token="&lt;/b&gt;"
                value=""/>
    </replace>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Simplified Chinese"/>
       <property name="nls.suffix"          value="zh"/>
       <property name="nls.docdir"          value="/zh/"/>
       <property name="nls.encoding.px"     value="CP1381"/>
       <property name="nls.encoding.hj"     value="GB2312"/>
       <property name="nls.iso"             value="GB2312"/>
       <property name="nls.isoLower"        value="gb2312"/>
    </ant>

    <!-- Remove the italics tags in the .jsp files. -->
    <replace dir="${nls.tmp}"
             includesfile="${nls.working}/${lst.jsp2utf}-zh"
             encoding="UTF8"
             summary="yes">
             <replacefilter
                token="&lt;I&gt;"
                value=""/>
             <replacefilter
                token="&lt;i&gt;"
                value=""/>
             <replacefilter
                token="&lt;/I&gt;"
                value=""/>
             <replacefilter
                token="&lt;/i&gt;"
                value=""/>
    </replace>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Traditional Chinese"/>
       <property name="nls.suffix"          value="zh_TW"/>
       <property name="nls.docdir"          value="/zh_TW/"/>
       <property name="nls.encoding.px"     value="Cp950"/>
       <property name="nls.encoding.hj"     value="Cp950"/>
       <property name="nls.iso"             value="Big5"/>
       <property name="nls.isoLower"        value="big5"/>
    </ant>

    <!-- Remove the italics tags in the .jsp files. -->
    <replace dir="${nls.tmp}"
             includesfile="${nls.working}/${lst.jsp2utf}-zh_TW"
             encoding="UTF8"
             summary="yes">
             <replacefilter
                token="&lt;I&gt;"
                value=""/>
             <replacefilter
                token="&lt;i&gt;"
                value=""/>
             <replacefilter
                token="&lt;/I&gt;"
                value=""/>
             <replacefilter
                token="&lt;/i&lt;"
                value=""/>
    </replace>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="German"/>
       <property name="nls.suffix"          value="de"/>
       <property name="nls.docdir"          value="/de/"/>
       <property name="nls.encoding.px"     value="Cp850"/>
       <property name="nls.encoding.hj"     value="Cp1252"/>
       <property name="nls.iso"             value="ISO-8859-1"/>
       <property name="nls.isoLower"        value="iso-8859-1"/>
    </ant>

    <ant antfile="${root}/nls.xml">
       <property name="nls.langname"        value="Spanish"/>
       <property name="nls.suffix"          value="es"/>
       <property name="nls.docdir"          value="/es/"/>
       <property name="nls.encoding.px"     value="Cp850"/>
       <property name="nls.encoding.hj"     value="Cp1252"/>
       <property name="nls.iso"             value="ISO-8859-1"/>
       <property name="nls.isoLower"        value="iso-8859-1"/>
    </ant>

  </target>


  <description>
    =========================================================================
       Target:  developerinit

      Purpose:  Initializes the build process for the developer build
                If the developer has extracted the code and is not using
                a build from the build department, he/she will need to run
                this target "ant developerinit" to create a
                build.properties file
    =========================================================================
  </description>
  <target name="developerinit">

<echo file="${root}/build.properties">family=big@family.raleigh.ibm.com@9999
release=big5.0
level=Developer
product=BIG
version=5.0.0
</echo>

  </target>


  <description>
    =========================================================================
       Target:  nls

      Purpose:  Perform NLS processing.
    =========================================================================
  </description>
  <target name="nls"
          depends="init"
          description="Perform NLS processing">

    <copy todir="${exp.instmgr}"
          verbose="${copyVerbose}">
      <fileset dir="${src.studio_nls}">
        <include name="*.properties"/>
      </fileset>
    </copy>

    <!-- copy nls processed PII
         to export\instmgr
    -->
    <copy todir="${exp.instmgr}"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${nls.tmp}/src/instmgr/studio_nls">
        <include name="*.properties"/>
      </fileset>
    </copy>

  </target>

  <description>
    =========================================================================
       Target:  compile

      Purpose:  Front-end for compilation of all components.
    =========================================================================
  </description>

  <target name="compile"
          description="Perform compilation of build components."
          depends="init, compile_big,
                         compile_fixutility_for_studio_eclipse"/>

  <description>
    =========================================================================
       Target:  compile_install

      Purpose:  Performs compilation of install components.
    =========================================================================
  </description>

  <target name="compile_install"
          description="Perform compilation of install components."
          depends="init">
    <javac srcdir="${src}"
           destdir="${exp}"
           debug="${debug}"
           deprecation="${deprecation}"
           optimize="${optimize}"
           classpathref="install.classpath"
           includeAntRuntime="no">
      <include name="com/ibm/big/install/**/*.java"/>
    </javac>
  </target>

<!--
  <description>
    =========================================================================
       Target:  compile_launcher_eclipse

      Purpose:  Performs compilation of BIG launcher .exe for eclipse platform.
    =========================================================================
  </description>

  <target name="compile_launcher_eclipse"
          description="Perform compilation of eclipse launcher"
          depends="init">

        <exec dir="${root}\launchstudioeclipse\bigstudio" executable="nmake">
           <arg line="/f &quot;bigstudio.mak&quot; CFG=&quot;bigstudio - Win32 Release&quot;"/>
        </exec>
</target>

  <description>
    =========================================================================
       Target:  compile_launcher_eclipse2

      Purpose:  Performs compilation of BIG launcher .exe for eclipse 2 platform.
    =========================================================================
  </description>

  <target name="compile_launcher_eclipse2"
          description="Perform compilation of eclipse 2 launcher"
          depends="init">

        <exec dir="${root}\launchstudioeclipse2\win32\unicode" executable="nmake">
           <arg line="/f &quot;bigstudio.mak&quot; CFG=&quot;bigstudio - Win32 Release&quot;"/>
        </exec>
</target>
-->


  <description>
    =========================================================================
       Target:  compile_big

      Purpose:  Performs compilation of product components.
    =========================================================================
  </description>

  <target name="compile_big"
          description="Perform compilation of product components."
          depends="init">

    <javac srcdir="${src}"
           destdir="${exp}"
           debug="${debug}"
           deprecation="${deprecation}"
           optimize="${optimize}"
           classpathref="eclipse.classpath"
           includeAntRuntime="no">
      <include name="com/**/*.java"/>

      <exclude name="com/ibm/big/install/**/*.java"/>
      <exclude name="com/ibm/fixutility/**/*.java"/>
    </javac>

    <copy todir="${exp.studio.base}/predefined"
          verbose="${copyVerbose}">
      <fileset dir="${root.predefined}">
        <include name="**"/>
        <exclude name="**/classpath/.classpath.v4"/>
        <exclude name="**/classpath/.classpath.v5"/>
      </fileset>
    </copy>

    <!-- copy nls processed PII
         all PII in predefined directory
    -->
    <copy todir="${exp.studio.base}/predefined"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${nls.tmp}/predefined">
        <include name="**"/>
      </fileset>
    </copy>

    <copy todir="${exp}"
          verbose="${copyVerbose}">
      <fileset dir="${src}">
         <include name="com/ibm/big/msgs/**/*.*"/>
         <include name="com/ibm/big/common/**/*.dtd"/>
      </fileset>
    </copy>

    <!-- copy nls processed PII
         to export
    -->
    <copy todir="${exp}"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${nls.tmp}/src">
         <include name="com/ibm/big/msgs/**/*.*"/>
      </fileset>
    </copy>

   </target>


  <description>

    =========================================================================
       Target:  compile_fixutility_for_studio_eclipse

      Purpose:  Performs compilation of the fix utility component.
    =========================================================================
  </description>

  <target name="compile_fixutility_for_studio_eclipse"
          description="Perform compilation of the fix utility components included in studio."
          depends="init">

    <javac srcdir="${src}"
           destdir="${exp.studiofixutil}"
           debug="${debug}"
           deprecation="${deprecation}"
           optimize="${optimize}"
           classpathref="eclipse.classpath"
           includeAntRuntime="no">
      <include name="com/ibm/fixutility/install/**/*.java"/>
    </javac>

    <copy todir="${exp.studiofixutil}"
          verbose="${copyVerbose}">
      <fileset dir="${src}">
         <include name="com/ibm/fixutility/install/messages.properties"/>
      </fileset>
    </copy>

    <jar basedir="${exp.studiofixutil}"
         destfile="${exp.studio.base}/service/lib/bigService.jar"
         compress="true">
      <include name="**"/>
    </jar>

    <!-- 25204 -->
    <copy todir="${exp.studio.base}/predefined/projects/earProject/lib"
           file="${exp.studio.base}/service/lib/bigService.jar"

       verbose="${copyVerbose}"/>

    <copy todir="${exp.studio.base}/service/nls"
          verbose="${copyVerbose}">
      <fileset dir="${src}/service/fixutility/nls">
         <include name="bigmsg_en_US.bat"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.base}/service/lib"
          verbose="${copyVerbose}">
      <fileset dir="${basedir}/lib/wsad51">
        <include name="xerceslmpl.jar"/>
        <include name="xmlParserApi.jar"/>
      </fileset>
    </copy>

    <copy tofile="${exp.studio.base}/service/apply.bat"
          file="${src}/service/fixutility/master.bat"
          verbose="${copyVerbose}">
      <filterset>
        <filter token="action" value="apply"/>
      </filterset>
    </copy>

    <copy tofile="${exp.studio.base}/service/restore.bat"
          file="${src}/service/fixutility/master.bat"
          verbose="${copyVerbose}">
      <filterset>
        <filter token="action" value="restore"/>
      </filterset>
    </copy>

    <copy tofile="${exp.studio.base}/service/commit.bat"
          file="${src}/service/fixutility/master.bat"
          verbose="${copyVerbose}">
      <filterset>
        <filter token="action" value="commit"/>
      </filterset>
    </copy>

    <copy tofile="${exp.studio.base}/service/report.bat"
          file="${src}/service/fixutility/master.bat"
          verbose="${copyVerbose}">
      <filterset>
        <filter token="action" value="report"/>
      </filterset>
    </copy>

  </target>


  <description>
    =========================================================================
       Target:  package

      Purpose:  Front-end for packaging of all components.
    =========================================================================
  </description>

  <target name="package"
          description="Perform intermediate packaging of components."
          depends="init, package_studio_eclipse, package_install_eclipse"/>


  <description>
    =========================================================================
       Target:  package_install_eclipse

      Purpose:  Performs intermediate install packaging.
    =========================================================================
  </description>

  <target name="package_install_eclipse"
          description="Perform intermediate install packaging."
          depends="init, nls, compile_install">
    <jar basedir="${exp}"
         destfile="${jar.install}"
         compress="true">
      <include name="com/ibm/big/install/**/*"/>

      <fileset dir="${exp}/com/ibm/big/install/res">
        <include name="*.properties"/>
      </fileset>
    </jar>

    <jar basedir="${exp.instmgr}"
         destfile="${jar.big}"
         compress="true"/>
  </target>


  <description>
    =========================================================================
       Target:  package_studio_eclipse

      Purpose:  Performs intermediate studio packaging.
    =========================================================================
  </description>

  <target name="package_studio_eclipse"
          description="Perform intermediate studio packaging."
          depends="init, nls, compile_big,
                   compile_fixutility_for_studio_eclipse,
                   package_studio_doc_eclipse">

    <copy todir="${exp.studio.base}"
          verbose="${copyVerbose}">
      <fileset dir="${root.plugin}"
               includes="**/*"/>

      <fileset dir="${root}">
        <include name="**/*plugin.xml"/>
        <exclude name="export/**"/>
      </fileset>
    </copy>

    <!-- copy nls processed PII
         plugin_cc.properties
         cc/Welcome2Big.xml
    -->
    <copy todir="${exp.studio.base}"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${nls.tmp}/pluginroot"
               includes="**/*"/>
    </copy>
    <copy todir="${exp.studio.base}"
          file="${root}/product.xml"
          verbose="${copyVerbose}">
      <filterset>
        <filter token="date" value="${TODAY}"/>
        <filtersfile file="${root}/build.properties"/>
      </filterset>
    </copy>

    <mkdir dir="${exp.studio.base}/images"/>
    <copy todir="${exp.studio.base}/images"
          verbose="${copyVerbose}">
      <fileset dir="${basedir}/images"
               includes="**/*"/>
    </copy>

    <!--  mkdir dir="${exp.studio.base}/lib"/ -->
    <copy todir="${exp.studio.base}/lib"
          verbose="${copyVerbose}">
      <fileset dir="${basedir}/lib">
        <include name="habeansnlv.jar"/>
        <include name="keyrng.jar"/>
        <include name="help.jar"/>
        <include name="helpworkbench.jar"/>
        <include name="ibmjlog.jar"/>
      </fileset>
    </copy>

    <copy todir="${exp}"
          verbose="${copyVerbose}">
      <fileset dir="${root}">
        <include name="studioroot/**"/>
      </fileset>
    </copy>

    <copy file="${root}/launchstudioeclipse2/win32/unicode/bigstudio.exe"
          tofile="${exp}/studioroot/bigstudio.exe"
          verbose="${copyVerbose}"/>

    <copy file="${root}/launchstudioeclipse1/bigstudio/bigicon.ico"
          tofile="${exp}/studioroot/bigicon.ico"
          verbose="${copyVerbose}"/>

    <copy todir="${exp}"
          verbose="${copyVerbose}">
       <fileset dir="${root}">
         <include name="images/he*.gif"/>
       </fileset>
    </copy>

    <jar basedir="${exp}"
         destfile="${jar.studio}"
         compress="true">
      <include name="com/ibm/big/studio/**/*"/>
    </jar>

    <jar basedir="${exp}"
         destfile="${jar.runtime}"
         compress="true">
      <include name="com/ibm/big/runtime/*.*"/>
      <include name="com/ibm/big/runtime/admin/**/*"/>
      <include name="com/ibm/HostPublisher/**/*"/>
      <include name="com/ibm/SWGAcc/**/*"/>
    </jar>

    <copy file="${jar.runtime}"
         todir="${exp.studio.base}/lib"/>

    <jar basedir="${exp}"
         destfile="${jar.common}"
         compress="true">
      <include name="com/ibm/big/common/**/*"/>
      <include name="com/ibm/big/component/**/*"/>
      <include name="com/ibm/big/widget/**/*"/>
      <include name="com/ibm/big/transform/**/*"/>
      <include name="com/ibm/big/msgs/**/*"/>
      <include name="com/ibm/eNetwork/**/*"/>
      <include name="com/ibm/HostPublisher/**/*"/>
      <include name="com/ibm/big/util/**/*"/>
      <include name="com/ibm/big/runtime/connmgr/**/*"/>
    </jar>

    <copy file="${jar.common}"
         todir="${exp.studio.base}/lib"/>

  </target>


  <description>
    =========================================================================
       Target:  package_studio_doc_eclipse

      Purpose:  Performs intermediate studio documentation packaging.
    =========================================================================
  </description>

  <target name="package_studio_doc_eclipse"
          description="Perform intermediate studio documentation packaging."
          depends="init, nls, compile_big">

    <copy todir="${exp.studio.doc}"
          verbose="${copyVerbose}">
      <fileset dir="${root.plugindoc}"
               includes="**/*"/>
    </copy>

    <copy todir="${exp.studio.doc}"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/xml"
               includes="nl/**/*"/>
    </copy>

    <!-- copy nls processed PII -->
    <copy todir="${exp.studio.doc}"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${nls.tmp}/studioDoc/xml"
               includes="nl/**/*"/>
    </copy>

    <copy todir="${exp.studio.doc}/doc"
          verbose="${copyVerbose}">
      <fileset dir="${basedir}/images"
               includes="**"/>
    </copy>

    <copy todir="${exp.studio.doc}/nl"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl"
               includes="**"/>
    </copy>


    <copy todir="${exp.studio.doc}/nl/en/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/en"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/pt_BR/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/pt_BR"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/fr/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/fr"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/it/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/it"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/ja/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/ja"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/ko/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/ko"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/zh/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/zh"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/zh_TW/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/zh_TW"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/de/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/de"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${exp.studio.doc}/nl/es/doc"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

    <copy todir="${img.doc}/es"
          verbose="${copyVerbose}">
      <fileset dir="${root}/images">
           <include name="*.gif"/>
      </fileset>
    </copy>

  </target>


  <description>
    =========================================================================
       Target:  images

      Purpose:  Builds the product images.
    =========================================================================
  </description>

  <target name="images"
          description="Collect and assemble the product image(s)."
          depends="package, images_studio_eclipse">
  </target>


  <description>
    =========================================================================
       Target:  images_ismp

      Purpose:  Builds the ISMP package.
    =========================================================================
  </description>

  <target name="images_ismp"
          description="Collect and assemble the studio image(s).">

    <java dir="${ismp50}"
          classname="com.installshield.isje.ISJE"
          classpathref="ismp.classpath"
          fork="yes"
          failonerror="no"
          output="${root}/ismp-studio.log">
      <arg line="${src}\bigstudio\big_studio.xml -build" />
    </java>

    <move file="${src}/bigstudio/default/disk1/setup.exe"
          tofile="${img}/instmgr/setupwin.exe"/>

    <delete dir="${src}/bigstudio/default/disk1"/>

  </target>


  <description>
    =========================================================================
       Target:  images_studio_eclipse

      Purpose:  Builds the studio plugin image.
    =========================================================================
  </description>

  <target name="images_studio_eclipse"
          depends="images_ismp"
          description="Copy other components for the CD image to the ship directory">

    <copy file="${src}/install/silent/silentbig.txt"
          tofile="${img}/instmgr/silentbig.txt"
          overwrite="yes"
          verbose="${copyVerbose}"/>

    <copy todir="${img}"
          verbose="${copyVerbose}">
      <fileset dir="${src}">
        <include name="instmgr/*.dll"/>
        <include name="instmgr/*.jar"/>
        <include name="instmgr/instwin.bat"/>
      </fileset>

      <fileset dir="${src}/instmgr">
        <include name="setup.exe"/>
        <include name="setup.ini"/>
        <include name="autorun.inf"/>
      </fileset>
    </copy>

    <!-- defect 21535 -->
    <jar destfile="${img}/instmgr/IMResrc.jar"
         basedir="${src.instmgr}/graphics"
         update="true">
    </jar>

    <!-- defect 23120f_1 -->
    <copy todir="${img.doc}/en"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/en/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/pt_BR"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/pt_BR/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/fr"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/fr/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/it"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/it/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/ja"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/ja/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/ko"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/ko/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/zh"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/zh/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/zh_TW"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/zh_TW/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/de"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/de/doc"
               includes="**/*"/>
    </copy>

    <copy todir="${img.doc}/es"
          overwrite="yes"
          verbose="${copyVerbose}">
      <fileset dir="${root}/studioDoc/nl/es/doc"
               includes="**/*"/>
    </copy>

    <copy file="${jar.big}"
          todir="${img}/instmgr"
          verbose="${copyVerbose}"/>

    <copy todir="${img}/instmgr/win"
          verbose="${copyVerbose}">
      <fileset dir="${mut.jre}"/>
    </copy>
  </target>


  <description>
    =========================================================================
       Target:  developer

      Purpose:  Build everythingexcept the installable images.  This target
                is intended for runtime or studio developers who do not have
                InstallShield on their machines.

        Notes:  1. To manually install the studio plugin, perform the
                   following command:

                      xcopy |buildroot|\export\studio\* |wsadroot|\plugins /s

                2. To build using this target, enter the command:

                      ant developer
    =========================================================================
  </description>

  <target name="developer"
          depends="clean, developerinit, init, compile_big,
                   compile_fixutility_for_studio_eclipse,
                   package_studio_eclipse"
          description="Perform developer build">
  </target>

  <target name="quick"
          depends="compile_big,
                   compile_fixutility_for_studio_eclipse, package_studio_eclipse"
          description="Perform quick developer build (no clean)">
  </target>


  <description>
    =========================================================================
       Target:  main

      Purpose:  Runs the default build processing.
    =========================================================================
  </description>

  <target name="main"
          description="Perform the default build action.">
    <echo message="Beginning default build"/>
    <echo message="  Project:  ${ant.project.name}"/>
    <echo message="   Script:  ${ant.file}"/>
    <echo message="   Target:  images"/>

    <antcall inheritAll="false" target="images">
      <param name="user.home" value="${user.home}"/>
    </antcall>
  </target>

</project>
