﻿<?xml version="1.0" encoding="utf-8" ?>


<Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003">
  <UsingTask
  TaskName="CompressorTask"
  AssemblyFile="Yahoo.Yui.Compressor.dll" />
  <!-- The .NET 2.0 version of the task .. and yes .. that's Model.Net20 folder listed twice .. i know i know...
<UsingTask
TaskName="CompressorTask"
        AssemblyFile="..\..\Projects\Yahoo.Yui.Compressor\Model.Net20\Model.Net20\bin\Debug\Yahoo.Yui.Compressor.NET20.dll" />
    -->

  <!-- Define the output locations. These can be set via the msbuild command line using
         /p:CssOutputFile=$(TargetDir)../whatever...
         /p:JavaScriptOutputFile=$(TargetDir)../whatever...
 
         If they are not supplied or are empty, then we the value whatever is supplied, below.
    -->
  <PropertyGroup>
    <CssOutputFile Condition=" '$(CssOutputFile)'=='' ">
      jquery.megi.min.css
    </CssOutputFile>
    <JavaScriptOutputFile Condition=" '$(JavaScriptOutputFile)'=='' ">
      jquery.megi.min.js
    </JavaScriptOutputFile>
  </PropertyGroup>


  <Target Name="MyTaskTarget">
    <!--
ItemGroup\CssFiles or ItemGroup\JavaScriptFiles: add zero to many files you wish to include in this compression task.
                                                             Don't forget, you can use the wildcard (eg. *.css, *.js) if you feel up to it.
                                                             Finally, at least one item is required - either a css file or a js file.
 
CssFiles/JavaScriptFiles data format: Please do not touch this.
DeleteCssFiles: [Optional] True | Yes | Yeah | Yep | True | FoSho | FoSho. Default is False. Anything else is False. (eg. blah = false, xxxx111 = false, etc)
CssCompressionType: YuiStockCompression | MichaelAshsRegexEnhancements | HaveMyCakeAndEatIt or BestOfBothWorlds or Hybrid; Default is YuiStockCompression.
ObfuscateJavaScript: [Optional] refer to DeleteCssFiles, above.
PreserveAllSemicolons: [Optional] refer to DeleteCssFiles, above.
DisableOptimizations: [Optional] refer to DeleteCssFiles, above.
EncodingType: [Optional] ASCII, BigEndianUnicode, Unicode, UTF32, UTF7, UTF8, Default. Default is 'Default'.
DeleteJavaScriptFiles: [Optional] refer to DeleteCssFiles, above.
LineBreakPosition: [Optional] the position where a line feed is appened when the next semicolon is reached. Default is -1 (never add a line break).
                               0 (zero) means add a line break after every semicolon. (This might help with debugging troublesome files).         
LoggingType: None | ALittleBit | HardcoreBringItOn;  Hardcore also lists javascript verbose warnings, if there are any (and there usually is :P ).
ThreadCulture: [Optional] the culture you want the thread to run under. Default is 'en-gb'.
IsEvalIgnored: [Optional] compress any functions that contain 'eval'. Default is False, which means a function that contains
                           'eval' will NOT be compressed. It's deemed risky to compress a function containing 'eval'. That said,
if the usages are deemed safe this check can be disabled by setting this value to True.
        -->
    <ItemGroup>
      <!-- Single files, listed in order of dependency -->
      <!--easyui-->
      <CssFiles Include="../fw/include/easyui/custom/easyui.css"/>
      <CssFiles Include="../fw/include/easyui/icon.css"/>
      <!--loadmask-->
      <CssFiles Include="../fw/include/loadmask/jquery.loadmask.css"/>
      <!--hiAlert-->
      <CssFiles Include="../fw/include/hiAlert/css/alert.css"/>
      <!--xyTipsWindow-->
      <CssFiles Include="../fw/include/XYTipsWindow/style.css"/>

      <!---以后会将下面的css废弃掉-->
      <!--css.css-->
      <CssFiles Include="../fw/themes/base/css.css"/>
      <!--必须按照顺序来-->
      <!--0.外部引入的js库-->
      <JavaScriptFiles Include="../fw/include/underscore/underscore.js"/>
      <JavaScriptFiles Include="../fw/include/polyfill/typedarray.js"/>
      <JavaScriptFiles Include="../fw/include/pako/pako.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.text.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.xss.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.des.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.hashtable.js"/>
      <!--1.jquery-->
      <JavaScriptFiles Include="../fw/include/jquery/jquery-1.8.2.min.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.filter.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.zip.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.browser.tabswitch.js"/>
      <JavaScriptFiles Include="../fw/include/mousewheel/jquery.mousewheel.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.fw.js"/>
      <JavaScriptFiles Include="../fw/include/jquery/jquery.ui.widget.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.select.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.guid.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.window.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.top.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.object.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.context.js"/>
      <!--2.loadmask -->
      <JavaScriptFiles Include="../fw/include/loadmask/jquery.loadmask.js"/>
      <!--3.hiAlert -->
      <JavaScriptFiles Include="../fw/include/hiAlert/jquery.alert.js"/>
      <!--4.XYTipsWindow -->
      <JavaScriptFiles Include="../fw/include/XYTipsWindow/jquery.XYTipsWindow.2.8.js"/>
      <!--5.顶部的js（包括HtmlLang等）-->
      <JavaScriptFiles Include="../fw/scripts/window.constant.variable.js"/>
      <!--6.日期类（必须在easyui前面）-->
      <JavaScriptFiles Include="../fw/include/daterangepicker/jquery.daterangepicker.js"/>
      <!--<JavaScriptFiles Include="../fw/include/My97Datepicker/WdatePicker.js"/>-->
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.date.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.storage.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.basedata.config.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.basedata.js"/>
      <!--7.easyui-->
      <JavaScriptFiles Include="../fw/include/easyui/jquery.easyui.min.js"/>
      <!--8.可拖拽排序-->
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.sortable.js"/>
      <!--美记自定义的js，也需要按照顺序来-->
      <JavaScriptFiles Include="../fw/scripts/jquery.cookie.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.json-2.3.min.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.data.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.common.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.bizobject.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.easyui.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.datebox.gl.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.easyui.extend.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.combobox.add.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.combotree.add.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.combogrid.add.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.monthpicker.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.ajax.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.error.js"/>

      <JavaScriptFiles Include="../fw/scripts/jquery.megi.form.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.hint.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.insertatcaret.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.lang.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.math.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.mBox.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.tab.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.tip.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.title.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.enter2tab.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.extend.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.ui.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.util.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.table.resize.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.scroll.js"/>


      <JavaScriptFiles Include="../fw/scripts/jquery.megi.loginbox.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.access.js"/>

      <JavaScriptFiles Include="../fw/scripts/jquery.megi.rate.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.color.js"/>



      <JavaScriptFiles Include="../fw/scripts/jquery.megi.bottom.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.fw.inner.js"/>

      <JavaScriptFiles Include="../fw/scripts/jquery.megi.feedback.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.filterchar.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.countdown.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.account.js"/>
      <JavaScriptFiles Include="../fw/scripts/jquery.megi.export.js"/>

      <!-- All the files. They will be handled (I assume) in alphabetically. -->
      <!--<CssFiles Include="*.css" />
      <JavaScriptFiles Include="*.js" />
            -->
    </ItemGroup>

    <CompressorTask
    CssFiles="@(CssFiles)"
    DeleteCssFiles="false"
    CssOutputFile="$(CssOutputFile)"
    CssCompressionType="YuiStockCompression"
    JavaScriptFiles="@(JavaScriptFiles)"
    ObfuscateJavaScript="True"
    PreserveAllSemicolons="False"
    DisableOptimizations="Nope"
    EncodingType="utf-8"
    DeleteJavaScriptFiles="false"
    LineBreakPosition="-1"
    JavaScriptOutputFile="$(JavaScriptOutputFile)"
    LoggingType="ALittleBit"
    ThreadCulture="en-au"
    IsEvalIgnored="false"
    />

    <!--
    
    CssFiles="@(CssFiles)"
    DeleteCssFiles="false"
    CssOutputFile="$(CssOutputFile)"
    CssCompressionType="YuiStockCompression"
    JavaScriptFiles="@(JavaScriptFiles)"
    ObfuscateJavaScript="False"                   //是否模糊处理js文件，True：会将js中的变量为“a,b,c”单个字符的变量
    PreserveAllSemicolons="False"
    DisableOptimizations="Nope"
    EncodingType="utf-8"                          //如果js或者css包含有中文，则必须使用utf-8编码，否则会乱码
    DeleteJavaScriptFiles="false"
    LineBreakPosition="-1"
    JavaScriptOutputFile="$(JavaScriptOutputFile)"
    LoggingType="ALittleBit"
    ThreadCulture="en-au"
    IsEvalIgnored="false"
    
    -->

  </Target>
</Project>