<?xml version="1.0"?>
<project name="AthleticHost" default="deploy">
  <target name="init">
    <loadtasks assembly="${path::combine(environment::get-variable('NANTCONTRIB_HOME'), 'bin/NAnt.Contrib.Tasks.dll')}"/>
    <property name="ModuleName" value="AthleticHost_Skin" overwrite="false"/>
    <property name="version" value="01.00.04"/>
    <property name="webroot.dir" value="website"/>
    <property name="portal.dir" value="${webroot.dir}/Portals/_default" />
    <!--<property name="nant.settings.currentframework" value="net-2.0" />-->
    <property name="skin.dir" value="${portal.dir}/Skins/AthleticHost" overwrite="false"/>
    <property name="container.dir" value="${portal.dir}/Containers/AthleticHost" overwrite="false"/>
    <property name="temp.dir" value="temp"/>
    <property name="bin.dir" value="${webroot.dir}/bin"/>
    <property name="install.dir" value="Install"/>
    <property name="localresource.dir" value="App_LocalResources"/>
    <property name="YUICompressor.dir" value="C:\dev\bin\yuicompressor-2.4.2\build"/>
    <sysinfo/>
  </target>
  <target name="clean" depends="init">
    <delete dir="${install.dir}" if="${directory::exists(install.dir)}"/>
    <delete dir="${temp.dir}" if="${directory::exists(temp.dir)}"/>
  </target>

  <target name="compile" depends="init">
    <!--
    <msbuild project="${ModuleName}.sln">
    <arg value="/property:Configuration=release"/>
    <arg value="/t:Rebuild"/>
    </msbuild>
    -->
  </target>

<target name="JavaScript.minify">
<foreach item="File" property="filename">
  <in>
    <items>
      <include name="${temp.dir}/**/js/**/*.js"/>
    </items>
  </in>
  <do>
    <echo message="${filename}" />
    <exec program="java" workingdir="${YUICompressor.dir}">
      <arg value="-jar" />
      <arg value="yuicompressor-2.4.2.jar" />
      <arg value="--type" />
      <arg value="js" />
      <arg value="-o" />
      <arg value="${filename}.min" />
      <arg value="${filename}" />
    </exec>
    <move file="${filename}.min" tofile="${filename}" overwrite="true" />
  </do>
</foreach>
</target>
<target name="Css.minify">
<foreach item="File" property="filename">
  <in>
    <items>
      <include name="${temp.dir}/**/*.css"/>
    </items>
  </in>
  <do>
    <echo message="${filename}" />
    <exec program="java" workingdir="${YUICompressor.dir}">
      <arg value="-jar" />
      <arg value="yuicompressor-2.4.2.jar" />
      <arg value="--type" />
      <arg value="css" />
      <arg value="-o" />
      <arg value="${filename}.min" />
      <arg value="${filename}" />
    </exec>
    <move file="${filename}.min" tofile="${filename}" overwrite="true" />
  </do>
</foreach>
</target>

  <target name="deploy" depends="clean">
    <!-- DO flatten this as we want to retain folder structure in this and ONLY this zip -->
    <mkdir dir="${temp.dir}" unless="${directory::exists(temp.dir)}"/>

    <copy todir="${temp.dir}">
      <fileset basedir="${skin.dir}">
        <include name="/**/images/**/*"/>
        <include name="/**/js/**/*"/>
        <include name="/**/css/**/*"/>
        <include name="/**/controls/**/*"/>
        <include name="**/${localresource.dir}/*.resx"/>
        <include name="**/handlers/*.ashx"/>
        <include name="**/*.ascx"/>
        <include name="**/*.css"/>
        <include name="**/*.aspx"/>
        <include name="**/*.xml"/>
        <include name="**/*.dnn"/>
        <include name="**/*.txt"/>
        <include name="**/*.SqlDataProvider"/>
        <exclude name="**/*.cs"/>
        <exclude name="**/_ReSharper*/*"/>
        <exclude name="**/Install/**/*"/>
        <exclude name="**/_sgbak/*"/>
        <exclude name="**/thumbs.db"/>
        <exclude name="**/*.zip"/>
        <exclude name="**/.svn/*"/>
        <exclude name="**/_svn/*"/>
      </fileset>
    </copy>
    <copy todir="${temp.dir}">
      <fileset basedir="${container.dir}">
        <include name="**/*.ascx"/>
        <include name="**/*.css"/>
        <exclude name="**/*.cs"/>
        <exclude name="**/_ReSharper*/*"/>
        <exclude name="**/Install/**/*"/>
        <exclude name="**/_sgbak/*"/>
        <exclude name="**/thumbs.db"/>
        <exclude name="**/*.zip"/>
        <exclude name="**/.svn/*"/>
        <exclude name="**/_svn/*"/>
      </fileset>
    </copy>

    <call target="JavaScript.minify" />
    <call target="Css.minify" />
    <mkdir dir="${install.dir}" unless="${directory::exists(install.dir)}"/>
    <zip zipfile="${install.dir}/${ModuleName}_${version}_Install.zip">
      <fileset basedir="${temp.dir}">
        <include name="**/*"/>
      </fileset>
    </zip>
    <!--Delete temp directory -->
    <delete dir="${temp.dir}" failonerror="false"/>
  </target>
</project>

