115 lines
7.5 KiB
XML
115 lines
7.5 KiB
XML
<Project InitialTargets="Build" DefaultTargets="AfterBuild" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup>
|
|
<MSBuildCommunityTasksPath>..\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
|
|
<UmbracoMSBuildTasksPath>..\UmbracoMSBuildTasks</UmbracoMSBuildTasksPath>
|
|
</PropertyGroup>
|
|
<Import Project="..\lib\Umbraco\UmbracoMSBuildTasks\Umbraco.MSBuild.Tasks.Targets" />
|
|
<Import Project="..\lib\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
|
|
<PropertyGroup>
|
|
<BuildFolder>_BuildOutput\</BuildFolder>
|
|
<BuildZipFileName>UmbracoWebApp.zip</BuildZipFileName>
|
|
<BuildZipFileNameBin>UmbracoAllBinaries.zip</BuildZipFileNameBin>
|
|
<IncludeSymbols>False</IncludeSymbols>
|
|
<BuildFolderRelativeToProjects>..\..\build\$(BuildFolder)</BuildFolderRelativeToProjects>
|
|
<SolutionBinFolder>$(BuildFolder)bin\</SolutionBinFolder>
|
|
<WebAppFolder>$(BuildFolder)WebApp\</WebAppFolder>
|
|
<SolutionBinFolderRelativeToProjects>$(BuildFolderRelativeToProjects)bin\</SolutionBinFolderRelativeToProjects>
|
|
<SolutionBinBuildFolderWildcard>$(SolutionBinFolder)**\*.*</SolutionBinBuildFolderWildcard>
|
|
<SolutionBinBuildFolderExclusionWildcard>$(SolutionBinFolder)**\Web.Template.*;$(SolutionBinFolder)**\*.pdb</SolutionBinBuildFolderExclusionWildcard>
|
|
<WebAppFolderRelativeToProjects>$(BuildFolderRelativeToProjects)WebApp\</WebAppFolderRelativeToProjects>
|
|
<WebBuildFolderWildcard>$(WebAppFolder)**\*.*</WebBuildFolderWildcard>
|
|
<WebBuildFolderExclusionWildcard>$(WebAppFolder)**\Web.Template.*;$(WebAppFolder)**\*.pdb</WebBuildFolderExclusionWildcard>
|
|
</PropertyGroup>
|
|
<Target Name="Build" DependsOnTargets="ZipWebApp">
|
|
<Message Text="Build finished" />
|
|
</Target>
|
|
<Target Name="CleanUp" DependsOnTargets="ZipWebApp">
|
|
<Message Text="Deleting $(BuildFolder)" Importance="high" />
|
|
<RemoveDir Directories="build\$(BuildFolder)" />
|
|
<Message Text="Finished deleting $(BuildFolder)" Importance="high" />
|
|
</Target>
|
|
<Target Name="ZipWebApp" DependsOnTargets="OffsetTimestamps" >
|
|
<Time Format="yyyyMMdd-HHmm">
|
|
<Output TaskParameter="FormattedTime" PropertyName="buildDate" />
|
|
</Time>
|
|
|
|
<CreateItem Include="$(WebBuildFolderWildcard)" Exclude="$(WebBuildFolderExclusionWildcard)">
|
|
<Output TaskParameter="Include" ItemName="WebFilesToZip" />
|
|
</CreateItem>
|
|
|
|
<CreateItem Include="$(SolutionBinBuildFolderWildcard)" Exclude="$(SolutionBinBuildFolderExclusionWildcard)">
|
|
<Output TaskParameter="Include" ItemName="BinFilesToZip" />
|
|
</CreateItem>
|
|
<Message Text="Starting to zip to $(buildDate)-$(BuildZipFileName)" Importance="high" />
|
|
<MSBuild.Community.Tasks.Zip Files="@(BinFilesToZip)" ZipFileName="$(buildDate)-$(BuildZipFileNameBin)" WorkingDirectory="$(SolutionBinFolder)" />
|
|
<MSBuild.Community.Tasks.Zip Files="@(WebFilesToZip)" ZipFileName="$(buildDate)-$(BuildZipFileName)" WorkingDirectory="$(WebAppFolder)" />
|
|
<Message Text="Finished zipping to build\$(BuildFolder)\$(buildDate)-$(BuildZipFileName)" Importance="high" />
|
|
</Target>
|
|
<Target Name="CompileProjects">
|
|
|
|
<Message Text="Compiling web project to build\$(BuildFolder)" Importance="high" />
|
|
<!-- For UseWPP_CopyWebApplication=True see http://stackoverflow.com/questions/1983575/copywebapplication-with-web-config-transformations -->
|
|
<MSBuild Projects="..\src\umbraco.presentation\umbraco.presentation.csproj" Properties="WarningLevel=0;Configuration=Release;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;OutDir=$(SolutionBinFolderRelativeToProjects);WebProjectOutputDir=$(WebAppFolderRelativeToProjects)" Targets="Clean;Build;" BuildInParallel="False" ToolsVersion="4.0" UnloadProjectsOnCompletion="False">
|
|
</MSBuild>
|
|
|
|
<!--
|
|
Now, because of all the circular dependencies we need to build those projects and have them dump their DLLs/assets out to the same folder. Really wish this wasn't the case!
|
|
These are: umbraco.editorControls umbraco.webservices umbraco.MacroEngines
|
|
|
|
Each of these projects has a post build to put their stuff in the correct location based on the solution and unfortunately for us each
|
|
of these projects references the web application! So if we specify an OutDir parameter it will also trigger a web deploy and chuck another
|
|
website output in bin/_PublishedWebSites folder. we cannot disable this: http://social.msdn.microsoft.com/forums/en-US/tfsbuild/thread/3ec642ad-2e6d-424c-891a-62f6409da62a/
|
|
so we need to just build the project 'in-place' then copy its output to the SolutionBinFolder
|
|
-->
|
|
|
|
<Message Text="Compiling MacroEngines project" Importance="high" />
|
|
<MSBuild Projects="..\src\umbraco.MacroEngines\umbraco.MacroEngines.csproj" Properties="WarningLevel=0;Configuration=Release;" Targets="Clean;Build;" BuildInParallel="False" ToolsVersion="4.0" UnloadProjectsOnCompletion="False">
|
|
</MSBuild>
|
|
<ItemGroup>
|
|
<MacroEngineDll Include="..\src\umbraco.MacroEngines\bin\Release\umbraco.MacroEngines.dll"/>
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(MacroEngineDll)"
|
|
DestinationFolder="$(SolutionBinFolder)" OverwriteReadOnlyFiles="True"/>
|
|
<Copy SourceFiles="@(MacroEngineDll)"
|
|
DestinationFolder="$(WebAppFolder)\bin" OverwriteReadOnlyFiles="True"/>
|
|
|
|
<Message Text="Compiling editorControls project" Importance="high" />
|
|
<MSBuild Projects="..\src\umbraco.editorControls\umbraco.editorControls.csproj" Properties="WarningLevel=0;Configuration=Release;" Targets="Clean;Build;" BuildInParallel="False" ToolsVersion="4.0" UnloadProjectsOnCompletion="False">
|
|
</MSBuild>
|
|
<ItemGroup>
|
|
<EditorControlsDll Include="..\src\umbraco.editorControls\bin\Release\umbraco.editorControls.dll"/>
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(EditorControlsDll)"
|
|
DestinationFolder="$(SolutionBinFolder)" OverwriteReadOnlyFiles="True"/>
|
|
<Copy SourceFiles="@(EditorControlsDll)"
|
|
DestinationFolder="$(WebAppFolder)\bin" OverwriteReadOnlyFiles="True"/>
|
|
|
|
<Message Text="Compiling webservices project" Importance="high" />
|
|
<MSBuild Projects="..\src\umbraco.webservices\umbraco.webservices.csproj" Properties="WarningLevel=0;Configuration=Release;" Targets="Clean;Build;" BuildInParallel="False" ToolsVersion="4.0" UnloadProjectsOnCompletion="False">
|
|
</MSBuild>
|
|
<ItemGroup>
|
|
<WebServicesDll Include="..\src\umbraco.webservices\bin\Release\umbraco.webservices.dll"/>
|
|
<WebServicesASMX Include="..\src\umbraco.webservices\*.asmx"/>
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(WebServicesDll)"
|
|
DestinationFolder="$(SolutionBinFolder)" OverwriteReadOnlyFiles="True"/>
|
|
<Copy SourceFiles="@(WebServicesDll)"
|
|
DestinationFolder="$(WebAppFolder)\bin" OverwriteReadOnlyFiles="True"/>
|
|
<Copy SourceFiles="@(WebServicesASMX)"
|
|
DestinationFolder="$(WebAppFolder)\umbraco\webservices\api" OverwriteReadOnlyFiles="True"/>
|
|
|
|
<Message Text="Finished compiling projects" Importance="high" />
|
|
</Target>
|
|
|
|
<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>
|
|
<Target Name="AfterBuild">
|
|
<Message Text="Hi" />
|
|
</Target>
|
|
</Project> |