谷歌关闭和MSBUILD

时间:2010-12-03 11:19:18

标签: msbuild

希望用msbuild实现谷歌关闭。 我找到了一些解决方案,但努力让它发挥作用。 关于如何在构建期间读取多个js文件并创建.min版本的任何建议?

感谢

编辑:通过下面的回答,我能够进行一些改动,以便完全实现所推荐的内容,但这里只是简单的形式是我写的:

  <ItemGroup>
    <JSMin Include="$(OutputPath)Scripts\*.js"/>
  </ItemGroup>
  <Target Name="AfterBuild" Inputs="@(JSMin)" Outputs="@(JSMin ->'%(Directory)%(Filename).min%(Extension)')">
    <Exec Command="java -jar C:\temp\compiler.jar --js %(JSMin.Identity) --js_output_file C:\temp\%(JSMin.Filename).min.js"/>
  </Target>

稍后将输出路径更改为动态路径。

非常感谢

1 个答案:

答案 0 :(得分:6)

我没有看过Google Closure,但您可以通过<Exec> task运行任何命令:

<Project DefaultTargets="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="build">
        <Exec Command="echo Hello world"/>
    </Target>
</Project>

编辑:对一组文件运行命令:

<Project DefaultTargets="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <JSMin Include="jquery.js"/>
    <JSMin Include="somethingelse.js"/>
  </ItemGroup>

  <Target Name="build" Inputs="@(JSMin)" Outputs="@(JSMin->'%(Directory)%(Filename).min%(Extension)')">
    <Exec Command="java -jar C:\temp\compiler.jar --js %(JSMin.Identity) --js_output_file %(JSMin.Directory)%(JSMin.Filename).min%(JSMin.Extension)"/>
  </Target>
</Project>