Browse Source

Added support for zip binaries build artifacts for AppVeyor

pull/780/head
Wiesław Šoltés 10 years ago
parent
commit
1d73d7fe86
  1. 1
      appveyor.yml
  2. 36
      build.cake

1
appveyor.yml

@ -23,5 +23,6 @@ after_build:
test: off test: off
artifacts: artifacts:
- path: artifacts\nuget\*.nupkg - path: artifacts\nuget\*.nupkg
- path: artifacts\zip\*.zip
cache: cache:
- gtk-sharp-2.12.26.msi - gtk-sharp-2.12.26.msi

36
build.cake

@ -30,6 +30,7 @@ var target = Argument("target", "Default");
var platform = Argument("platform", "Any CPU"); var platform = Argument("platform", "Any CPU");
var configuration = Argument("configuration", "Release"); var configuration = Argument("configuration", "Release");
var skipTests = HasArgument("skip-tests"); var skipTests = HasArgument("skip-tests");
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// CONFIGURATION // CONFIGURATION
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -89,6 +90,8 @@ if (isRunningOnAppVeyor)
var artifactsDir = (DirectoryPath)Directory("./artifacts"); var artifactsDir = (DirectoryPath)Directory("./artifacts");
var nugetRoot = artifactsDir.Combine("nuget"); var nugetRoot = artifactsDir.Combine("nuget");
var zipRoot = artifactsDir.Combine("zip");
var binRoot = artifactsDir.Combine("bin");
var dirSuffix = configuration; var dirSuffix = configuration;
var dirSuffixSkia = (isPlatformAnyCPU ? "x86" : platform) + "/" + configuration; var dirSuffixSkia = (isPlatformAnyCPU ? "x86" : platform) + "/" + configuration;
@ -122,6 +125,11 @@ var buildDirs =
GetDirectories("./Samples/**/bin/" + dirSuffix) + GetDirectories("./Samples/**/bin/" + dirSuffix) +
GetDirectories("./Samples/**/obj/" + dirSuffix); GetDirectories("./Samples/**/obj/" + dirSuffix);
var fileZipSuffix = version + ".zip";
var zipCoreArtifacts = zipRoot.CombineWithFilePath("Avalonia-" + fileZipSuffix);
var zipSourceControlCatalogDesktopDirs = (DirectoryPath)Directory("./samples/ControlCatalog.Desktop/bin/" + dirSuffix);
var zipTargetControlCatalogDesktopDirs = zipRoot.CombineWithFilePath("ControlCatalog.Desktop-" + fileZipSuffix);
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// NUGET NUSPECS // NUGET NUSPECS
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -527,6 +535,12 @@ var nugetPackages = nuspecNuGetSettings.Select(nuspec => {
return nuspec.OutputDirectory.CombineWithFilePath(string.Concat(nuspec.Id, ".", nuspec.Version, ".nupkg")); return nuspec.OutputDirectory.CombineWithFilePath(string.Concat(nuspec.Id, ".", nuspec.Version, ".nupkg"));
}).ToArray(); }).ToArray();
var binFiles = nuspecNuGetSettings.SelectMany(nuspec => {
return nuspec.Files.Select(file => {
return ((DirectoryPath)nuspec.BasePath).CombineWithFilePath(file.Source);
});
}).GroupBy(f => f.FullPath).Select(g => g.First());
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// INFORMATION // INFORMATION
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -569,6 +583,8 @@ Task("Clean")
CleanDirectories(buildDirs); CleanDirectories(buildDirs);
CleanDirectory(artifactsDir); CleanDirectory(artifactsDir);
CleanDirectory(nugetRoot); CleanDirectory(nugetRoot);
CleanDirectory(zipRoot);
CleanDirectory(binRoot);
}); });
Task("Restore-NuGet-Packages") Task("Restore-NuGet-Packages")
@ -669,6 +685,25 @@ Task("Run-Unit-Tests")
} }
}); });
Task("Copy-Files")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
CopyFiles(binFiles, binRoot);
});
Task("Zip-Files")
.IsDependentOn("Copy-Files")
.Does(() =>
{
Zip(binRoot, zipCoreArtifacts);
Zip(zipSourceControlCatalogDesktopDirs,
zipTargetControlCatalogDesktopDirs,
GetFiles(zipSourceControlCatalogDesktopDirs.FullPath + "/*.dll") +
GetFiles(zipSourceControlCatalogDesktopDirs.FullPath + "/*.exe"));
});
Task("Create-NuGet-Packages") Task("Create-NuGet-Packages")
.IsDependentOn("Run-Unit-Tests") .IsDependentOn("Run-Unit-Tests")
.Does(() => .Does(() =>
@ -758,6 +793,7 @@ Task("Default")
.IsDependentOn("Package"); .IsDependentOn("Package");
Task("AppVeyor") Task("AppVeyor")
.IsDependentOn("Zip-Files")
.IsDependentOn("Publish-MyGet") .IsDependentOn("Publish-MyGet")
.IsDependentOn("Publish-NuGet"); .IsDependentOn("Publish-NuGet");

Loading…
Cancel
Save