forked from leekelleher/umbraco-mortar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Package.build.xml
91 lines (78 loc) · 3.32 KB
/
Package.build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Package">
<!-- IMPORTS -->
<PropertyGroup>
<MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)\Tools\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
<MSBuildUmbracoTasksPath>$(MSBuildProjectDirectory)\Tools\MSBuildUmbracoTasks</MSBuildUmbracoTasksPath>
</PropertyGroup>
<Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets" />
<Import Project="$(MSBuildUmbracoTasksPath)\MSBuild.Umbraco.Tasks.Targets" />
<!-- PROPERTIES -->
<PropertyGroup>
<VersionMajor>0</VersionMajor>
<VersionMinor>3</VersionMinor>
<VersionPatch>3</VersionPatch>
<VersionSuffix></VersionSuffix>
<UmbracoVersion>7.1.4</UmbracoVersion>
<ProjectName>Our.Umbraco.Mortar</ProjectName>
<BuildConfiguration>Release</BuildConfiguration>
</PropertyGroup>
<PropertyGroup>
<RootDir>$(MSBuildProjectDirectory)</RootDir>
<BuildDir>$(RootDir)\Build</BuildDir>
<PackageDir>$(RootDir)\Package</PackageDir>
<ProjectDir>$(RootDir)\Src\$(ProjectName)</ProjectDir>
</PropertyGroup>
<!-- TARGETS -->
<!-- CLEAN -->
<Target Name="Clean">
<RemoveDir Directories="$(BuildDir)" Condition="Exists('$(BuildDir)')" />
<RemoveDir Directories="$(PackageDir)" Condition="Exists('$(PackageDir)')" />
<MakeDir Directories="$(BuildDir)" />
<MakeDir Directories="$(PackageDir)" />
</Target>
<!-- UPDATE ASSEMBLEY VERSION -->
<Target Name="UpdateAssemblyInfo" DependsOnTargets="Clean">
<AssemblyInfo CodeLanguage="CS"
OutputFile="$(ProjectDir)\Properties\VersionInfo.cs"
AssemblyVersion="$(VersionMajor).$(VersionMinor).*"
AssemblyInformationalVersion="$(VersionMajor).$(VersionMinor).$(VersionPatch)$(VersionSuffix)"/>
</Target>
<!-- COMPILE -->
<Target Name="Compile" DependsOnTargets="UpdateAssemblyInfo">
<MSBuild Projects="$(ProjectDir)\$(ProjectName).csproj" Properties="Configuration=$(BuildConfiguration);" />
</Target>
<!-- PREPARE FILES -->
<Target Name="PrepareFiles" DependsOnTargets="Compile">
<ItemGroup>
<BinFiles Include="$(ProjectDir)\bin\$(BuildConfiguration)\$(ProjectName).dll" />
<WebFiles Include="$(ProjectDir)\Web\UI\**\*.*" />
<PackageFile Include="$(RootDir)\package.xml" />
</ItemGroup>
<Copy SourceFiles="@(BinFiles)" DestinationFolder="$(BuildDir)\bin" />
<Copy SourceFiles="@(WebFiles)" DestinationFolder="$(BuildDir)\%(RecursiveDir)" />
<Copy SourceFiles="@(PackageFile)" DestinationFolder="$(BuildDir)" />
</Target>
<!-- MANIFEST -->
<Target Name="Manifest" DependsOnTargets="PrepareFiles">
<ItemGroup>
<ManifestFiles Include="$(BuildDir)\**\*" Exclude="$(BuildDir)\package.xml" />
</ItemGroup>
<ManifestUpdate ManifestFile="$(BuildDir)\package.xml"
WorkingDirectory="$(BuildDir)"
MinimumRequiredUmbracoVersion="$(UmbracoVersion)"
PackageVersion="$(VersionMajor).$(VersionMinor).$(VersionPatch)$(VersionSuffix)"
Files="@(ManifestFiles)" />
</Target>
<!-- PACKAGE -->
<Target Name="Package" DependsOnTargets="Manifest">
<ItemGroup>
<PackageFiles Include="$(BuildDir)\**\*.*" />
</ItemGroup>
<Package ManifestFile="$(BuildDir)\package.xml"
WorkingDirectory="$(BuildDir)"
OutputDirectory="$(PackageDir)"
Files="@(PackageFiles)" />
<!--<RemoveDir Directories="$(BuildDir)" Condition="Exists('$(BuildDir)')" />-->
</Target>
</Project>