Skip to content

Commit c055a7c

Browse files
Adding automated build.
1 parent 3f66fc3 commit c055a7c

23 files changed

+7255
-4
lines changed

appveyor.yml

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,49 @@
11
# Version format
2-
version: 0.5.{build}
2+
version: 0.5.0.{build}
33

4-
build:
5-
project: src/UmbracoFileSystemProviders.Azure.sln
4+
# UMBRACO_PACKAGE_PRERELEASE_SUFFIX if a rtm release build this should be blank, otherwise if empty will default to alpha
5+
# example UMBRACO_PACKAGE_PRERELEASE_SUFFIX=beta
6+
init:
7+
- set UMBRACO_PACKAGE_PRERELEASE_SUFFIX=
8+
9+
build_script:
10+
- build-appveyor.cmd
611

712
# Turn tests off just now
8-
test: off
13+
test: off
14+
15+
artifacts:
16+
- path: artifacts\*.nupkg
17+
- path: artifacts\*.zip
18+
19+
deploy:
20+
# MyGet Deployment for builds & releases
21+
- provider: NuGet
22+
server: https://www.myget.org/F/umbracofilesystemproviders-azure/api/v2
23+
symbol_server: https://nuget.symbolsource.org/MyGet/umbracofilesystemproviders-azure
24+
api_key:
25+
secure: fz0rUrt3B1HczUC1ZehwVsrFSWX9WZGDQoueDztLte9/+yQG+BBU7UrO+coE8lUf
26+
artifact: /.*\.nupkg/
27+
on:
28+
branch: develop
29+
30+
# GitHub Deployment for releases
31+
- provider: GitHub
32+
auth_token:
33+
secure: fjqBa6SK926I+Zf/gRUAAMlMKGuxYS6VVUKvFS6ClY9EbAKcAJw7Ia/a1tW5ELmD
34+
artifact: /.*\.zip/ # upload all Zip packages to release assets
35+
draft: false
36+
prerelease: false
37+
on:
38+
branch: master
39+
appveyor_repo_tag: true # deploy on tag push only
40+
41+
# NuGet Deployment for releases
42+
- provider: NuGet
43+
server:
44+
api_key:
45+
secure: kHataLiMb9nmJEdwBE4BTXvA4nOpoD3Fw14zVeDP6Vs0ZXpL7c8qeegMv/jMZECP
46+
artifact: /.*\.nupkg/
47+
on:
48+
branch: master
49+
appveyor_repo_tag: true
Binary file not shown.

build-appveyor.cmd

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
ECHO APPVEYOR_REPO_BRANCH: %APPVEYOR_REPO_BRANCH%
2+
ECHO APPVEYOR_REPO_TAG: %APPVEYOR_REPO_TAG%
3+
ECHO APPVEYOR_BUILD_NUMBER : %APPVEYOR_BUILD_NUMBER%
4+
ECHO APPVEYOR_BUILD_VERSION : %APPVEYOR_BUILD_VERSION%
5+
6+
CALL src\.nuget\NuGet.exe restore src\UmbracoFileSystemProviders.Azure.sln
7+
CALL "%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" build\package.proj
8+
9+
pause

build.cmd

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
ECHO off
2+
3+
SET /P APPVEYOR_BUILD_NUMBER=Please enter a build number (e.g. 134):
4+
SET /P PACKAGE_VERISON=Please enter your package version (e.g. 1.0.5):
5+
SET /P UMBRACO_PACKAGE_PRERELEASE_SUFFIX=Please enter your package release suffix or leave empty (e.g. beta):
6+
7+
SET /P APPVEYOR_REPO_TAG=If you want to simulate a GitHub tag for a release (e.g. true):
8+
9+
if "%APPVEYOR_BUILD_NUMBER%" == "" (
10+
SET APPVEYOR_BUILD_NUMBER=100
11+
)
12+
if "%PACKAGE_VERISON%" == "" (
13+
SET PACKAGE_VERISON=0.1.0
14+
)
15+
16+
SET APPVEYOR_BUILD_VERSION=%PACKAGE_VERISON%.%APPVEYOR_BUILD_NUMBER%
17+
18+
build-appveyor.cmd
19+
20+
@IF %ERRORLEVEL% NEQ 0 GOTO err
21+
@EXIT /B 0
22+
:err
23+
@PAUSE
24+
@EXIT /B 1
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
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 &#169; 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>

build/package.nuspec

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
3+
<metadata>
4+
<id></id>
5+
<version>0.0.0</version>
6+
<title></title>
7+
<authors></authors>
8+
<owners></owners>
9+
<projectUrl></projectUrl>
10+
<iconUrl></iconUrl>
11+
<requireLicenseAcceptance></requireLicenseAcceptance>
12+
<description></description>
13+
<summary></summary>
14+
<copyright></copyright>
15+
<licenseUrl></licenseUrl>
16+
<language></language>
17+
<tags></tags>
18+
<dependencies>
19+
<dependency id="UmbracoCms.Core" version="0.0.0" />
20+
<dependency id="WindowsAzure.Storage" version="4.3.0" />
21+
</dependencies>
22+
</metadata>
23+
<files>
24+
<file src="..\..\transforms\FileSystemProviders.config.transform" target="content\config\FileSystemProviders.config.transform" />
25+
<file src="..\..\transforms\web.config.transform" target="content\web.config.transform" />
26+
</files>
27+
</package>

build/package.proj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="BuildPackages" ToolsVersion="4.0">
3+
4+
<!-- TARGETS -->
5+
<Target Name="BuildPackages">
6+
<MSBuild Projects="$(MSBuildProjectDirectory)\UmbracoFileSystemProviders.Azure.proj" />
7+
</Target>
8+
9+
</Project>

build/package.xml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<umbPackage>
3+
<info>
4+
<package>
5+
<name></name>
6+
<version>0.0.0</version>
7+
<license url=""></license>
8+
<url></url>
9+
<requirements>
10+
<major>0</major>
11+
<minor>0</minor>
12+
<patch>0</patch>
13+
</requirements>
14+
</package>
15+
<author>
16+
<name></name>
17+
<website></website>
18+
</author>
19+
<readme><![CDATA[]]></readme>
20+
</info>
21+
22+
<DocumentTypes />
23+
<Templates />
24+
<Stylesheets />
25+
<Macros />
26+
<DictionaryItems />
27+
<Languages />
28+
<DataTypes />
29+
30+
<Actions />
31+
32+
<control />
33+
34+
<files />
35+
36+
</umbPackage>

0 commit comments

Comments
 (0)