<project name="deleteUnecessaryScriptsInProfileBin" default="deleteUnecessaryScriptsInProfileBin" basedir=".">

    <taskdef name="wscmtlog" 
        classname="com.ibm.ws.install.configmanager.actionengine.ant.utils.AntTaskToLogToConfigManagersLogFiles"/>

      <target name="detectCurrentOSFamily"
            description="Detecs the current OS family (UNIX or Windows)">

        <!-- OS/400 setting must come before the unix setting -->
        <condition property="currentOSFamily" value="os/400">
            <equals arg1="${os.name}" arg2="OS/400"/>
        </condition>
        
        <condition property="currentOSFamily" value="windows">
            <os family="windows"/>
        </condition>

        <condition property="currentOSFamily" value="unix">
            <os family="unix"/>
        </condition>

        <wscmtlog>Detected current OS family to be: ${currentOSFamily}</wscmtlog>
    </target>

    <target name="defineOSSpecificConfigFlag"
            description="Defines either configUNIX or configWindows depending on the current OS">
            
        <condition property="configOS400" value="true">
            <equals arg1="${currentOSFamily}" arg2="os/400"/>
        </condition>
        
        <condition property="configUNIX" value="true">
            <equals arg1="${currentOSFamily}" arg2="unix"/>
        </condition>
        
        <condition property="configWindows" value="true">
            <equals arg1="${currentOSFamily}" arg2="windows"/>
        </condition>
    </target>
        
     <target name="setOSFileSeparator"
            description="Sets the current file separator for this platform (file.separator is unreliable on ANT 1.5.4)">

        <condition property="separatorFile" value="/">
            <equals arg1="${currentOSFamily}" arg2="os/400"/>
        </condition>
        
        <condition property="separatorFile" value="/">
            <equals arg1="${currentOSFamily}" arg2="unix"/>
        </condition>

        <condition property="separatorFile" value="\">
            <equals arg1="${currentOSFamily}" arg2="windows"/>
        </condition>
    </target>

    <target name="setOSShellScriptExtension"
            description="Sets the variable shellScriptExt to current OS's shell script extension">

        <condition property="shellScriptExt" value="">
            <equals arg1="${currentOSFamily}" arg2="os/400"/>
        </condition>

        <condition property="shellScriptExt" value="sh">
            <equals arg1="${currentOSFamily}" arg2="unix"/>
        </condition>

        <condition property="shellScriptExt" value="bat">
            <equals arg1="${currentOSFamily}" arg2="windows"/>
        </condition>
    </target>

    <target name="deleteUnecessaryShellScriptsInProfileBin" 
            description="Deletes the irrelevant script files in profile bin dir"
            unless="configOS400">
       	<wscmtlog>Delete the unecessary scripts in profile bin for profileName, ${profileName}</wscmtlog> 
        <delete file="${profilePath}/bin/startManager.${shellScriptExt}"/>
	<delete file="${profilePath}/bin/stopManager.${shellScriptExt}"/>
        <delete file="${profilePath}/bin/cleanupNode.${shellScriptExt}"/>
    </target>

    <target name="deleteUnecessaryShellScriptsInProfileBinOS400" 
            description="Deletes the irrelevant script files in profile bin dir"
            if="configOS400">
       	<wscmtlog>Delete the unecessary scripts in profile bin for profileName, ${profileName}</wscmtlog> 
        <delete file="${profilePath}/bin/startManager"/>
	<delete file="${profilePath}/bin/stopManager"/>
        <delete file="${profilePath}/bin/cleanupNode"/>
    </target>

    <target name="deleteUnecessaryScriptsInProfileBin"
        description="Delete the shell scripts under profile bin that are irrevelant to the specific profile"
        depends="detectCurrentOSFamily,
            defineOSSpecificConfigFlag,
            setOSFileSeparator,
            setOSShellScriptExtension,
            deleteUnecessaryShellScriptsInProfileBinOS400,
            deleteUnecessaryShellScriptsInProfileBin"/>

</project>
