root/trunk/build.proj

Revision 11, 4.3 kB (checked in by anonymous, 2 years ago)

revised staging deployment location

Line 
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3   <PropertyGroup>
4     <NoWarn Condition="'$(NoWarn)'!=''">$(NoWarn),</NoWarn>
5     <NoWarn>$(NoWarn)MSB4078</NoWarn>
6     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
7     <PackageName>SmallSharpTools.EmbeddedScripts</PackageName>
8     <TempDirectory>Temp</TempDirectory>
9     <ClassLibraryOutputDirectory>ClassLibrary\bin\$(Configuration)</ClassLibraryOutputDirectory>
10     <WebsiteBinDirectory>Website\bin</WebsiteBinDirectory>
11     <WebsiteDeployDirectory>Website_deploy</WebsiteDeployDirectory>
12     <ThirdPartyDirectory>ThirdParty</ThirdPartyDirectory>
13     <ZipFilename>$(PackageName)-$(Configuration).zip</ZipFilename>
14     <StagingDirectory>C:\Websites\SmallSharpTools.com\staging.smallsharptools.com\SmallSharpTools.EmbeddedScripts</StagingDirectory>
15   </PropertyGroup>
16   <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
17   <Target Name="Clean">
18     <RemoveDir Directories="$(ClassLibraryOutputDirectory)" Condition="Exists('$(ClassLibraryOutputDirectory)')" />
19     <MSBuild Projects="ClassLibrary\ClassLibrary.csproj" Targets="Clean" />
20   </Target>
21   <Target Name="PreBuild">
22     <CreateItem Include="$(ThirdPartyDirectory)\**\*.*" Exclude="**\_svn\**\*.*">
23       <Output ItemName="WebsiteDependencies" TaskParameter="Include"/>
24     </CreateItem>
25     <MakeDir Directories="$(WebsiteBinDirectory)" Condition="!Exists('$(WebsiteBinDirectory)')"></MakeDir>
26     <Copy SourceFiles="@(WebsiteDependencies)"
27           DestinationFolder="$(WebsiteBinDirectory)"></Copy>
28   </Target>
29   <Target Name="Build" DependsOnTargets="PreBuild;Clean">
30     <MSBuild Projects="ClassLibrary\ClassLibrary.csproj" Targets="Build" />
31     <MSBuild Projects="$(WebsiteDeployDirectory)\Website_deploy.wdproj" Targets="Build" />
32   </Target>
33   <Target Name="DefinedCollections" DependsOnTargets="Build">
34     <CreateItem Include="$(ClassLibraryOutputDirectory)\**\*.*" Exclude="**\*.zip">
35       <Output ItemName="AssemblyFiles" TaskParameter="Include"/>
36     </CreateItem>
37     <CreateItem Include="$(ThirdPartyDirectory)\**\*.*" Exclude="**\_svn\**\*.*">
38       <Output ItemName="ThirdPartyFiles" TaskParameter="Include"/>
39     </CreateItem>
40     <CreateItem Include="$(WebsiteDeployDirectory)\$(Configuration)\**\*.*" Exclude="**\_svn\**\*.*">
41       <Output ItemName="WebsiteFiles" TaskParameter="Include"/>
42     </CreateItem>   
43   </Target>
44   <Target Name="Package" DependsOnTargets="Build;DefinedCollections">
45     <!-- copy file to temp directory -->
46     <MakeDir Directories="$(TempDirectory)" Condition="!Exists('$(TempDirectory)')" ContinueOnError="false"></MakeDir>
47     <Copy SourceFiles="README.txt" DestinationFolder="$(TempDirectory)"></Copy>
48     <Copy SourceFiles="@(AssemblyFiles)"
49           DestinationFiles="@(AssemblyFiles->'$(TempDirectory)\Assemblies\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true"></Copy>
50     <Copy SourceFiles="@(ThirdPartyFiles)"
51           DestinationFiles="@(ThirdPartyFiles->'$(TempDirectory)\ThirdParty\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true"></Copy>
52     <Copy SourceFiles="@(WebsiteFiles)"
53           DestinationFiles="@(WebsiteFiles->'$(TempDirectory)\Website\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true"></Copy>
54
55     <CreateItem Include="$(TempDirectory)\**\*.*">
56       <Output ItemName="ZipFiles" TaskParameter="Include"/>
57     </CreateItem>
58
59     <Zip Files="@(ZipFiles)" ZipFileName="$(ZipFilename)" WorkingDirectory="$(TempDirectory)" />
60     <RemoveDir Directories="$(TempDirectory)" Condition="Exists('$(TempDirectory)')"></RemoveDir>
61   </Target>
62   <Target Name="Deploy" DependsOnTargets="Build;DefinedCollections" Condition="Exists('$(StagingDirectory)')">
63     <CreateItem Include="$(StagingDirectory)\**\*.*">
64       <Output ItemName="OldFiles" TaskParameter="Include"/>
65     </CreateItem>
66     <Delete Files="@(OldFiles)" TreatErrorsAsWarnings="true"></Delete>
67     <Copy SourceFiles="@(WebsiteFiles)"
68           DestinationFiles="@(WebsiteFiles->'$(StagingDirectory)\%(RecursiveDir)%(Filename)%(Extension)')"
69           SkipUnchangedFiles="true" ContinueOnError="true"></Copy>
70   </Target>
71 </Project>
Note: See TracBrowser for help on using the browser.