1
+ <?xml version =" 1.0" encoding =" utf-8" ?>
2
+ <Project xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets =" Package" ToolsVersion =" 4.0" >
3
+
4
+ <!-- IMPORTS -->
5
+ <PropertyGroup >
6
+ <MSBuildCommunityTasksPath >$(MSBuildProjectDirectory)\tools\MSBuildCommunityTasks</MSBuildCommunityTasksPath >
7
+ <MSBuildUmbracoTasksPath >$(MSBuildProjectDirectory)\tools\MSBuildUmbracoTasks</MSBuildUmbracoTasksPath >
8
+ <MSBuildNugetTasksPath >$(MSBuildProjectDirectory)\tools\MSBuildNugetTasks</MSBuildNugetTasksPath >
9
+ <AppVeyorUmbracoPath >$(MSBuildProjectDirectory)\tools\AppVeyorUmbraco</AppVeyorUmbracoPath >
10
+ </PropertyGroup >
11
+
12
+ <Import Project =" $(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets" />
13
+ <Import Project =" $(MSBuildUmbracoTasksPath)\MSBuild.Umbraco.Tasks.Targets" />
14
+ <Import Project =" $(MSBuildNugetTasksPath)\MSBuild.NuGet.Tasks.Targets" />
15
+ <Import Project =" $(AppVeyorUmbracoPath)\AppVeyorUmbraco.Targets" />
16
+
17
+ <!-- SHARED PROPERTIES -->
18
+ <PropertyGroup >
19
+ <PackageName >UmbracoFileSystemProviders.Azure</PackageName >
20
+ <MinUmbracoVersion >6.2.5</MinUmbracoVersion >
21
+ <Readme >An Azure Blob Storage IFileSystem provider for Umbraco.</Readme >
22
+ <AuthorName >James Jackson-South, Dirk Seefeld, Lars-Erik Aabech</AuthorName >
23
+ <AuthorUrl >https://github.com/JimBobSquarePants/UmbracoFileSystemProviders.Azure/graphs/contributors</AuthorUrl >
24
+ <PackageLicenseName >Apache 2.0 license</PackageLicenseName >
25
+ <PackageLicenseUrl >http://www.apache.org/licenses/LICENSE-2.0</PackageLicenseUrl >
26
+ <ProjectUrl >https://github.com/JimBobSquarePants/UmbracoFileSystemProviders.Azure</ProjectUrl >
27
+ </PropertyGroup >
28
+
29
+ <!-- NUGET ONLY PROPERTIES -->
30
+ <PropertyGroup >
31
+ <PackageId >UmbracoFileSystemProviders.Azure</PackageId >
32
+ <Copyright >Copyright © James Jackson-South and contributors.</Copyright >
33
+ <Owners >James Jackson-South</Owners >
34
+ <Description >An Azure Blob Storage IFileSystem provider for Umbraco 6.25+. Used to offload static files in the media section to the cloud.</Description >
35
+ <IconUrl >https://raw.githubusercontent.com/JimBobSquarePants/UmbracoFileSystemProviders.Azure/develop/build/assets/logo/azure-logo-128.png</IconUrl >
36
+ <Tags >umbraco azure media blob imageprocessor</Tags >
37
+ <Language >en-GB</Language >
38
+ <RequireLicenseAcceptance >false</RequireLicenseAcceptance >
39
+ </PropertyGroup >
40
+
41
+ <!-- APPVEYOR PROPERTIES -->
42
+ <PropertyGroup >
43
+ <FileVersion >$(APPVEYOR_BUILD_VERSION)</FileVersion >
44
+ </PropertyGroup >
45
+ <Choose >
46
+ <When Condition =" $(APPVEYOR_BUILD_NUMBER) != '' And $(APPVEYOR_REPO_TAG) != 'true' " >
47
+ <PropertyGroup >
48
+ <Release >false</Release >
49
+ </PropertyGroup >
50
+ </When >
51
+ <Otherwise >
52
+ <PropertyGroup >
53
+ <Release >true</Release >
54
+ </PropertyGroup >
55
+ </Otherwise >
56
+ </Choose >
57
+
58
+ <Choose >
59
+ <When Condition =" $(Release) == 'false' And $(UMBRACO_PACKAGE_PRERELEASE_SUFFIX) == 'rtm'" >
60
+ <PropertyGroup >
61
+ <AbortBuild >true</AbortBuild >
62
+ </PropertyGroup >
63
+ </When >
64
+ <Otherwise >
65
+ <PropertyGroup >
66
+ <AbortBuild >false</AbortBuild >
67
+ </PropertyGroup >
68
+ </Otherwise >
69
+ </Choose >
70
+
71
+ <!-- PATHS -->
72
+ <PropertyGroup >
73
+ <BuildConfig >Release</BuildConfig >
74
+ <RootDir >$(MSBuildProjectDirectory)\..</RootDir >
75
+ <BuildDir >$(MSBuildProjectDirectory)\_core</BuildDir >
76
+ <BuildUmbDir >$(BuildDir)\_umbraco</BuildUmbDir >
77
+ <BuildNuGetDir >$(BuildDir)\_nuget</BuildNuGetDir >
78
+ <ArtifactsDir >$(RootDir)\artifacts</ArtifactsDir >
79
+ <ProjectDir >$(RootDir)\src\UmbracoFileSystemProviders.Azure</ProjectDir >
80
+ </PropertyGroup >
81
+
82
+ <!-- TARGETS -->
83
+ <Target Name =" GetProductVersion" >
84
+ <Error Condition =" $(AbortBuild) == 'true'" Text =" Aborting the build as the UMBRACO_PACKAGE_PRERELEASE_SUFFIX suffix is set 'rtm' but APPVEYOR_REPO_TAG is not 'true'" />
85
+ <GetProductVersion BuildVersion =" $(APPVEYOR_BUILD_VERSION)" BuildSuffix =" $(UMBRACO_PACKAGE_PRERELEASE_SUFFIX)" Release =" $(Release)" >
86
+ <Output TaskParameter =" ProductVersion" PropertyName =" ProductVersion" />
87
+ </GetProductVersion >
88
+ </Target >
89
+
90
+ <!-- CLEAN -->
91
+ <Target Name =" Clean" DependsOnTargets =" GetProductVersion" >
92
+ <RemoveDir Directories =" $(BuildDir)" Condition =" Exists('$(BuildDir)')" />
93
+ <RemoveDir Directories =" $(ArtifactsDir)" Condition =" Exists('$(ArtifactsDir)')" />
94
+ <MakeDir Directories =" $(BuildDir)" />
95
+ <MakeDir Directories =" $(BuildUmbDir)" />
96
+ <MakeDir Directories =" $(BuildNuGetDir)" />
97
+ <MakeDir Directories =" $(ArtifactsDir)" />
98
+ </Target >
99
+
100
+ <!-- UPDATE PROJECT ASSEMBLEY VERSION -->
101
+ <Target Name =" UpdateAssemblyInfo" DependsOnTargets =" Clean" >
102
+ <ItemGroup >
103
+ <VersionMajor Include =" $(ProductVersion.Split('.')[0])" />
104
+ <VersionMinor Include =" $(ProductVersion.Split('.')[1])" />
105
+ </ItemGroup >
106
+ <AssemblyInfo CodeLanguage =" CS"
107
+ OutputFile=" $(ProjectDir)\Properties\VersionInfo.cs"
108
+ AssemblyVersion=" @(VersionMajor).@(VersionMinor).*"
109
+ AssemblyInformationalVersion=" $(ProductVersion)" />
110
+ </Target >
111
+
112
+ <!-- COMPILE -->
113
+ <Target Name =" Compile" DependsOnTargets =" UpdateAssemblyInfo" >
114
+ <MSBuild Projects =" $(ProjectDir)\UmbracoFileSystemProviders.Azure.csproj" Properties =" Configuration=$(BuildConfig)" />
115
+ <MSBuild Projects =" $(RootDir)\src\UmbracoFileSystemProviders.Azure.Tests\UmbracoFileSystemProviders.Azure.Tests.csproj" Properties =" Configuration=$(BuildConfig)" />
116
+ </Target >
117
+
118
+ <!-- PREPARE FILES -->
119
+ <Target Name =" PrepareFiles" DependsOnTargets =" Compile" >
120
+ <ItemGroup >
121
+ <!-- Newtonsoft.Json Excluded for now as Umbraco requires different major versions -->
122
+ <UmbracoBinFiles Include =" $(ProjectDir)\bin\$(BuildConfig)\Our.Umbraco.FileSystemProviders.Azure.dll;$(ProjectDir)\bin\$(BuildConfig)\Microsoft.Data.Edm.dll;$(ProjectDir)\bin\$(BuildConfig)\Microsoft.Data.OData.dll;$(ProjectDir)\bin\$(BuildConfig)\Microsoft.Data.Services.Client.dll;$(ProjectDir)\bin\$(BuildConfig)\Microsoft.WindowsAzure.Configuration.dll;$(ProjectDir)\bin\$(BuildConfig)\Microsoft.WindowsAzure.Storage.dll;$(ProjectDir)\bin\$(BuildConfig)\System.Spatial.dll" />
123
+ <BinFiles Include =" $(ProjectDir)\bin\$(BuildConfig)\Our.Umbraco.FileSystemProviders.Azure.dll;" />
124
+ <PdbFiles Include =" $(ProjectDir)\bin\$(BuildConfig)\Our.Umbraco.FileSystemProviders.Azure.pdb" />
125
+ <SrcFiles Include =" $(ProjectDir)\**\*.cs" Exclude =" $(ProjectDir)\obj\**" />
126
+ <PackageFile Include =" $(MSBuildProjectDirectory)\package.xml" />
127
+ <NuSpecFile Include =" $(MSBuildProjectDirectory)\package.nuspec" />
128
+ </ItemGroup >
129
+ <Copy SourceFiles =" @(UmbracoBinFiles)" DestinationFolder =" $(BuildUmbDir)\bin" />
130
+ <Copy SourceFiles =" @(PackageFile)" DestinationFolder =" $(BuildUmbDir)" />
131
+ <Copy SourceFiles =" @(BinFiles)" DestinationFolder =" $(BuildNuGetDir)\lib\net45" />
132
+ <Copy SourceFiles =" @(PdbFiles)" DestinationFolder =" $(BuildNuGetDir)\lib\net45" />
133
+ <Copy SourceFiles =" @(SrcFiles)" DestinationFiles =" @(SrcFiles->'$(BuildNuGetDir)\src\%(RecursiveDir)%(Filename)%(Extension)')" />
134
+ <Copy SourceFiles =" @(NuSpecFile)" DestinationFolder =" $(BuildNuGetDir)" />
135
+ </Target >
136
+
137
+ <!-- MANIFEST UMBRACO -->
138
+ <Target Name =" ManifestUmbraco" DependsOnTargets =" PrepareFiles" >
139
+ <ItemGroup >
140
+ <ManifestFiles Include =" $(BuildUmbDir)\**\*" Exclude =" $(BuildUmbDir)\package.xml" />
141
+ </ItemGroup >
142
+ <ManifestUpdate
143
+ ManifestFile=" $(BuildUmbDir)\package.xml"
144
+ WorkingDirectory=" $(BuildUmbDir)"
145
+ MinimumRequiredUmbracoVersion=" $(MinUmbracoVersion)"
146
+ PackageName=" $(PackageName)"
147
+ PackageVersion=" $(ProductVersion)"
148
+ AuthorName=" $(AuthorName)"
149
+ AuthorUrl=" $(AuthorUrl)"
150
+ Readme=" $(Readme)"
151
+ PackageLicenseName=" $(PackageLicenseName)"
152
+ PackageLicenseUrl=" $(PackageLicenseUrl)"
153
+ PackageUrl=" $(ProjectUrl)"
154
+ Files=" @(ManifestFiles)" />
155
+ </Target >
156
+
157
+ <!-- MANIFEST FOR NUGET PACKAGE -->
158
+ <Target Name =" ManifestNuGet" DependsOnTargets =" PrepareFiles" >
159
+ <ItemGroup >
160
+ <ManifestFiles Include =" $(BuildNuGetDir)\**\*" Exclude =" $(BuildNuGetDir)\package.nuspec" />
161
+ </ItemGroup >
162
+ <MSBuild .NuGet.Tasks.ManifestUpdate
163
+ ManifestFile=" $(BuildNuGetDir)\package.nuspec"
164
+ WorkingDirectory=" $(BuildNuGetDir)"
165
+ Title=" $(PackageName)"
166
+ Description=" $(Description)"
167
+ Summary=" $(Readme)"
168
+ Version=" $(ProductVersion)"
169
+ MinimumRequiredUmbracoVersion =" $(MinUmbracoVersion)"
170
+ Authors=" $(AuthorName)"
171
+ Owners=" $(Owners)"
172
+ Copyright=" $(Copyright)"
173
+ LicenseUrl=" $(PackageLicenseUrl)"
174
+ ProjectUrl=" $(ProjectUrl)"
175
+ Id=" $(PackageId)"
176
+ IconUrl=" $(IconUrl)"
177
+ Language=" $(Language)"
178
+ RequireLicenseAcceptance=" $(RequireLicenseAcceptance)"
179
+ Tags=" $(Tags)"
180
+ Files=" @(ManifestFiles)" />
181
+ </Target >
182
+
183
+ <!-- PACKAGE -->
184
+ <Target Name =" Package" DependsOnTargets =" ManifestUmbraco; ManifestNuGet" >
185
+ <ItemGroup >
186
+ <PackageFiles Include =" $(BuildUmbDir)\**\*.*" />
187
+ </ItemGroup >
188
+
189
+ <Package ManifestFile =" $(BuildUmbDir)\package.xml"
190
+ WorkingDirectory=" $(BuildUmbDir)"
191
+ OutputDirectory=" $(ArtifactsDir)"
192
+ Files=" @(PackageFiles)" />
193
+
194
+ <MSBuild .NuGet.Tasks.Pack NuGetExePath =" $(RootDir)\src\.nuget\NuGet.exe"
195
+ ManifestFile=" $(BuildNuGetDir)\package.nuspec"
196
+ BasePath=" $(BuildNuGetDir)"
197
+ Version=" $(ProductVersion)"
198
+ OutputDirectory=" $(ArtifactsDir)"
199
+ Symbols=" true" />
200
+
201
+ <RemoveDir Directories =" $(BuildDir)" Condition =" Exists('$(BuildDir)')" />
202
+
203
+ </Target >
204
+
205
+ </Project >
0 commit comments