2012-06-22 22:49:15 +04:00
<Project InitialTargets="Build" DefaultTargets="AfterBuild" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2012-06-29 12:33:08 -01:00
<!--
****************************************************
INCLUDES
*****************************************************
-->
2012-06-22 23:29:20 +04:00
<PropertyGroup>
<MSBuildCommunityTasksPath>..\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
<UmbracoMSBuildTasksPath>..\UmbracoMSBuildTasks</UmbracoMSBuildTasksPath>
</PropertyGroup>
2012-06-29 09:09:32 -01:00
2012-07-09 11:10:54 -01:00
<Import Project="..\tools\UmbracoMSBuildTasks\Umbraco.MSBuild.Tasks.Targets" />
<Import Project="..\tools\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
2012-06-29 12:33:08 -01:00
<!--
****************************************************
VARIABLES
*****************************************************
-->
2012-07-05 08:09:27 -01:00
<!-- NB: BUILD_NUMBER is passed in by the build server -->
<PropertyGroup Condition="'$(BUILD_NUMBER)'!=''">
2012-07-05 08:15:48 -01:00
<DECIMAL_BUILD_NUMBER>.$(BUILD_NUMBER)</DECIMAL_BUILD_NUMBER>
2012-07-05 08:09:27 -01:00
</PropertyGroup>
2012-06-22 23:29:20 +04:00
<PropertyGroup>
2012-06-29 12:33:08 -01:00
<BuildConfiguration>Release</BuildConfiguration>
2012-06-23 00:37:16 +04:00
<BuildFolder>_BuildOutput\</BuildFolder>
2012-07-05 08:15:48 -01:00
<BuildZipFileName>UmbracoCms$(DECIMAL_BUILD_NUMBER).zip</BuildZipFileName>
<BuildZipFileNameBin>UmbracoCms.AllBinaries$(DECIMAL_BUILD_NUMBER).zip</BuildZipFileNameBin>
<BuildZipFileNameWebPi>UmbracoCms.WebPI$(DECIMAL_BUILD_NUMBER).zip</BuildZipFileNameWebPi>
2012-06-22 23:29:20 +04:00
<IncludeSymbols>False</IncludeSymbols>
2012-06-23 00:37:16 +04:00
<BuildFolderRelativeToProjects>..\..\build\$(BuildFolder)</BuildFolderRelativeToProjects>
2012-07-04 09:56:24 -01:00
<BuildFolderAbsolutePath>$(MSBuildProjectDirectory)\$(BuildFolder)</BuildFolderAbsolutePath>
2012-06-22 23:29:20 +04:00
<SolutionBinFolder>$(BuildFolder)bin\</SolutionBinFolder>
<WebAppFolder>$(BuildFolder)WebApp\</WebAppFolder>
2012-06-29 12:33:08 -01:00
<WebPiFolder>$(BuildFolder)WebPi\</WebPiFolder>
2012-06-22 23:29:20 +04:00
<SolutionBinFolderRelativeToProjects>$(BuildFolderRelativeToProjects)bin\</SolutionBinFolderRelativeToProjects>
2012-07-04 09:56:24 -01:00
<SolutionBinFolderAbsolutePath>$(BuildFolderAbsolutePath)bin\</SolutionBinFolderAbsolutePath>
2012-06-22 23:29:20 +04:00
<WebAppFolderRelativeToProjects>$(BuildFolderRelativeToProjects)WebApp\</WebAppFolderRelativeToProjects>
2012-07-04 09:56:24 -01:00
<WebAppFolderAbsolutePath>$(BuildFolderAbsolutePath)WebApp\</WebAppFolderAbsolutePath>
2012-06-29 12:33:08 -01:00
<WebPiFolderRelativeToProjects>$(BuildFolderRelativeToProjects)WebPi\</WebPiFolderRelativeToProjects>
2012-07-04 09:56:24 -01:00
<WebPiFolderAbsolutePath>$(BuildFolderAbsolutePath)WebPi\</WebPiFolderAbsolutePath>
2012-06-22 23:29:20 +04:00
</PropertyGroup>
2012-06-29 12:33:08 -01:00
2012-07-09 11:10:54 -01:00
<ItemGroup>
<SystemFolders Include="$(WebAppFolder)App_Code" />
<SystemFolders Include="$(WebAppFolder)App_Data" />
<SystemFolders Include="$(WebAppFolder)App_Data\ClientDependency" />
<SystemFolders Include="$(WebAppFolder)App_Data\ExamineIndexes" />
<SystemFolders Include="$(WebAppFolder)media" />
<SystemFolders Include="$(WebAppFolder)masterpages" />
<SystemFolders Include="$(WebAppFolder)scripts" />
<SystemFolders Include="$(WebAppFolder)css" />
<SystemFolders Include="$(WebAppFolder)macroScripts" />
<SystemFolders Include="$(WebAppFolder)xslt" />
<SystemFolders Include="$(WebAppFolder)usercontrols" />
</ItemGroup>
2012-06-29 12:33:08 -01:00
<!--
****************************************************
TARGETS
*****************************************************
-->
<Target Name="Build" DependsOnTargets="ZipWebPiApp">
2012-06-22 23:29:20 +04:00
<Message Text="Build finished" />
</Target>
2012-06-29 09:09:32 -01:00
2012-06-29 12:33:08 -01:00
<Target Name="CleanUp" DependsOnTargets="ZipWebPiApp">
2012-06-22 23:29:20 +04:00
<Message Text="Deleting $(BuildFolder)" Importance="high" />
2012-06-29 12:33:08 -01:00
<RemoveDir Directories="$(BuildFolder)" />
2012-06-22 23:29:20 +04:00
<Message Text="Finished deleting $(BuildFolder)" Importance="high" />
</Target>
2012-06-29 12:33:08 -01:00
<Target Name="ZipWebPiApp" DependsOnTargets="ZipWebApp" >
<!-- Clean folders -->
<RemoveDir Directories="$(WebPiFolder)" />
<MakeDir Directories="$(WebPiFolder)" />
<MakeDir Directories="$(WebPiFolder)umbraco" />
<!-- Copy fresh built umbraco files -->
2012-07-09 11:10:54 -01:00
<Exec Command="xcopy %22$(WebAppFolderAbsolutePath)*%22 %22$(WebPiFolderAbsolutePath)umbraco%22 /S /E /Y /I" />
<!--<ItemGroup>
2012-06-29 12:33:08 -01:00
<WebAppFiles Include="$(WebAppFolder)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(WebAppFiles)"
2012-07-09 11:10:54 -01:00
DestinationFiles="@(WebAppFiles->'$(WebPiFolder)umbraco\%(RecursiveDir)%(Filename)%(Extension)')" />-->
2012-06-29 12:33:08 -01:00
<!-- Copy Web Pi template files -->
<ItemGroup>
<WebPiFiles Include="..\src\WebPi\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(WebPiFiles)"
DestinationFiles="@(WebPiFiles->'$(WebPiFolder)%(RecursiveDir)%(Filename)%(Extension)')" />
<!-- Zip the files -->
2012-07-09 11:10:54 -01:00
<Exec Command="..\tools\7zip\7za.exe a -r %22$(BuildZipFileNameWebPi)%22 %22$(WebPiFolderAbsolutePath)*%22" />
2012-06-29 12:33:08 -01:00
</Target>
2012-06-29 09:09:32 -01:00
2012-07-09 11:10:54 -01:00
<Target Name="ZipWebApp" DependsOnTargets="CreateSystemFolders" >
2012-06-29 12:33:08 -01:00
2012-06-22 23:29:20 +04:00
<Message Text="Starting to zip to $(buildDate)-$(BuildZipFileName)" Importance="high" />
2012-07-09 11:10:54 -01:00
<Exec Command="..\tools\7zip\7za.exe a -r %22$(BuildZipFileNameBin)%22 %22$(SolutionBinFolderAbsolutePath)*%22" />
<Exec Command="..\tools\7zip\7za.exe a -r %22$(BuildZipFileName)%22 %22$(WebAppFolderAbsolutePath)*%22" />
2012-06-27 23:32:29 +04:00
<Message Text="Finished zipping to build\$(BuildFolder)\$(buildDate)-$(BuildZipFileName)" Importance="high" />
2012-06-22 23:29:20 +04:00
</Target>
2012-06-29 12:33:08 -01:00
2012-07-09 11:10:54 -01:00
<Target Name="CreateSystemFolders" DependsOnTargets="CopyLibraries" Inputs="@(SystemFolders)" Outputs="%(Identity).Dummy">
<MakeDir Directories="@(SystemFolders)" />
</Target>
2012-07-05 10:53:57 -01:00
<Target Name="CopyLibraries" DependsOnTargets="OffsetTimestamps" >
2012-06-29 12:33:08 -01:00
<!-- Copy SQL CE -->
<ItemGroup>
<SQLCE4Files Include="..\lib\SQLCE4\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(SQLCE4Files)"
DestinationFiles="@(SQLCE4Files->'$(SolutionBinFolder)%(RecursiveDir)%(Filename)%(Extension)')"
OverwriteReadOnlyFiles="true"
SkipUnchangedFiles="false" />
<Copy SourceFiles="@(SQLCE4Files)"
DestinationFiles="@(SQLCE4Files->'$(WebAppFolder)bin\%(RecursiveDir)%(Filename)%(Extension)')"
OverwriteReadOnlyFiles="true"
SkipUnchangedFiles="false" />
2012-07-05 10:53:57 -01:00
<!-- Copy WebPages -->
<ItemGroup>
<WebPageFiles Include="..\lib\WebPages\*.dll" />
</ItemGroup>
<Copy SourceFiles="@(WebPageFiles)"
DestinationFiles="@(WebPageFiles->'$(SolutionBinFolder)%(RecursiveDir)%(Filename)%(Extension)')"
OverwriteReadOnlyFiles="true"
SkipUnchangedFiles="false" />
<Copy SourceFiles="@(WebPageFiles)"
DestinationFiles="@(WebPageFiles->'$(WebAppFolder)bin\%(RecursiveDir)%(Filename)%(Extension)')"
OverwriteReadOnlyFiles="true"
SkipUnchangedFiles="false" />
2012-06-29 12:33:08 -01:00
</Target>
<!-- Offset the modified timestamps on all umbraco dlls, as WebResources break if date is in the future, which, due to timezone offsets can happen. -->
<Target Name="OffsetTimestamps" DependsOnTargets="CompileProjects">
<CreateItem Include="$(BuildFolder)**\umbraco.*.dll">
<Output TaskParameter="Include" ItemName="FilesToOffsetTimestamp" />
</CreateItem>
<Message Text="Starting to offset timestamps" Importance="high" />
<Umbraco.MSBuild.Tasks.TimestampOffset Files="@(FilesToOffsetTimestamp)" Offset="-11" />
<Message Text="Finished offsetting timestamps" Importance="high" />
</Target>
2012-06-29 09:09:32 -01:00
2012-06-27 22:59:33 +04:00
<Target Name="CompileProjects">
2012-06-27 21:26:38 +04:00
2012-06-23 00:37:16 +04:00
<Message Text="Compiling web project to build\$(BuildFolder)" Importance="high" />
2012-06-22 23:29:20 +04:00
<!-- For UseWPP_CopyWebApplication=True see http://stackoverflow.com/questions/1983575/copywebapplication-with-web-config-transformations -->
2012-07-19 22:01:36 +06:00
<MSBuild Projects="..\src\Umbraco.Web.UI\Umbraco.Web.UI.csproj" Properties="WarningLevel=0;Configuration=$(BuildConfiguration);UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;OutDir=$(SolutionBinFolderAbsolutePath);WebProjectOutputDir=$(WebAppFolderAbsolutePath)" Targets="Clean;Build;" BuildInParallel="False" ToolsVersion="4.0" UnloadProjectsOnCompletion="False">
2012-06-22 23:29:20 +04:00
</MSBuild>
2012-06-27 22:59:33 +04:00
2012-06-29 12:33:08 -01:00
<!-- DONE -->
2012-06-27 22:59:33 +04:00
<Message Text="Finished compiling projects" Importance="high" />
</Target>
2012-06-29 09:09:32 -01:00
2012-06-22 23:29:20 +04:00
<Target Name="AfterBuild">
<Message Text="Hi" />
</Target>
2012-06-29 09:09:32 -01:00
2012-06-22 22:49:15 +04:00
</Project>