Skip to content

Instantly share code, notes, and snippets.

@ryandavidhartman
Created July 13, 2014 20:38
Show Gist options
  • Save ryandavidhartman/1856bc652efeef5e6da7 to your computer and use it in GitHub Desktop.
Save ryandavidhartman/1856bc652efeef5e6da7 to your computer and use it in GitHub Desktop.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<BuildPlatform Condition=" '$(BuildPlatform)' == '' ">AnyCPU</BuildPlatform>
<Solution>AdminPortal</Solution>
<WebsiteProjectName>$(Solution)</WebsiteProjectName>
<DBSetupProjectName>$(Solution)Deployment</DBSetupProjectName>
<BuildArtifactsDir>BuildArtifacts</BuildArtifactsDir>
</PropertyGroup>
<ItemGroup>
<WebsiteProjec Include="$(WebsiteProjectName)\$(WebsiteProjectName).csproj" />
<WebsiteArtifact Include="$(BuildArtifactsDir)\Websites\TEMP" />
<DBSetupProject Include="$(DBSetupProjectName)\$(DBSetupProjectName).csproj"/>
<DBSetupArtifact Include="$(BuildArtifactsDir)\Tools\$(Solution)" />
</ItemGroup>
<Target Name="ZipFiles" DependsOnTargets="CleanUp">
<ItemGroup>
<OutputFiles Include="$(BuildArtifactsDir)\\**" />
</ItemGroup>
<Time Format="yyyy-MM-dd">
<Output TaskParameter="FormattedTime" PropertyName="buildDate" />
</Time>
<Zip Files="@(OutputFiles)" WorkingDirectory="$(BuildArtifactsDir)" ZipFileName=".\$(BuildArtifactsDir)\$(Solution)$(buildDate).zip" ZipLevel="0" />
</Target>
<Target Name="CleanUp" DependsOnTargets="Compile">
<Exec Command='del &quot;%(WebsiteArtifact.FullPath)\*.*&quot; /q' />
<Exec Command='move .\BuildArtifacts\WebSites\TEMP\_PublishedWebsites\$(Solution) .\BuildArtifacts\WebSites\$(Solution)' />
<RemoveDir Directories="%(WebsiteArtifact.FullPath)\_PublishedWebSites" />
<RemoveDir Directories="%(WebsiteArtifact.FullPath)" />
</Target>
<Target Name="Compile" DependsOnTargets="Init">
<MSBuild Projects="@(WebsiteProjec)" Targets="Rebuild" Properties="OutDir=%(WebsiteArtifact.FullPath);Configuration=$(Configuration);Platform=$(BuildPlatform)" />
<MSBuild Projects="@(DBSetupProject)" Targets="Rebuild" Properties="OutDir=%(DBSetupArtifact.FullPath);Configuration=$(Configuration);Platform=$(BuildPlatform)" />
</Target>
<Target Name="Init" DependsOnTargets="Clean">
<MakeDir Directories="$(BuildArtifactsDir)" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="$(BuildArtifactsDir)" />
</Target>
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment