committed by
GitHub
1 changed files with 0 additions and 129 deletions
@ -1,129 +0,0 @@ |
|||||
using System.Xml.Linq; |
|
||||
using System.Linq; |
|
||||
|
|
||||
public class Parameters |
|
||||
{ |
|
||||
public string Configuration { get; private set; } |
|
||||
public bool SkipTests { get; private set; } |
|
||||
public string MainRepo { get; private set; } |
|
||||
public string MasterBranch { get; private set; } |
|
||||
public string ReleasePlatform { get; private set; } |
|
||||
public string ReleaseConfiguration { get; private set; } |
|
||||
public string ReleaseBranchPrefix { get; private set; } |
|
||||
public string MSBuildSolution { get; private set; } |
|
||||
public bool IsLocalBuild { get; private set; } |
|
||||
public bool IsRunningOnUnix { get; private set; } |
|
||||
public bool IsRunningOnWindows { get; private set; } |
|
||||
public bool IsRunningOnAppVeyor { get; private set; } |
|
||||
public bool IsRunningOnAzure { get; private set; } |
|
||||
public bool IsPullRequest { get; private set; } |
|
||||
public bool IsMainRepo { get; private set; } |
|
||||
public bool IsMasterBranch { get; private set; } |
|
||||
public bool IsReleaseBranch { get; private set; } |
|
||||
public bool IsTagged { get; private set; } |
|
||||
public bool IsReleasable { get; private set; } |
|
||||
public bool IsMyGetRelease { get; private set; } |
|
||||
public bool IsNuGetRelease { get; private set; } |
|
||||
public bool PublishTestResults { get; private set; } |
|
||||
public string Version { get; private set; } |
|
||||
public DirectoryPath ArtifactsDir { get; private set; } |
|
||||
public DirectoryPath NugetRoot { get; private set; } |
|
||||
public DirectoryPath ZipRoot { get; private set; } |
|
||||
public DirectoryPath BinRoot { get; private set; } |
|
||||
public DirectoryPath TestResultsRoot { get; private set; } |
|
||||
public string DirSuffix { get; private set; } |
|
||||
public DirectoryPathCollection BuildDirs { get; private set; } |
|
||||
public string FileZipSuffix { get; private set; } |
|
||||
public FilePath ZipCoreArtifacts { get; private set; } |
|
||||
public FilePath ZipNuGetArtifacts { get; private set; } |
|
||||
public DirectoryPath ZipSourceControlCatalogDesktopDirs { get; private set; } |
|
||||
public FilePath ZipTargetControlCatalogDesktopDirs { get; private set; } |
|
||||
|
|
||||
public Parameters(ICakeContext context) |
|
||||
{ |
|
||||
var buildSystem = context.BuildSystem(); |
|
||||
|
|
||||
// ARGUMENTS |
|
||||
Configuration = context.Argument("configuration", "Release"); |
|
||||
SkipTests = context.HasArgument("skip-tests"); |
|
||||
|
|
||||
// CONFIGURATION |
|
||||
MainRepo = "https://github.com/AvaloniaUI/Avalonia"; |
|
||||
MasterBranch = "master"; |
|
||||
ReleaseBranchPrefix = "refs/heads/release/"; |
|
||||
ReleaseConfiguration = "Release"; |
|
||||
MSBuildSolution = "./dirs.proj"; |
|
||||
|
|
||||
// PARAMETERS |
|
||||
IsLocalBuild = buildSystem.IsLocalBuild; |
|
||||
IsRunningOnUnix = context.IsRunningOnUnix(); |
|
||||
IsRunningOnWindows = context.IsRunningOnWindows(); |
|
||||
IsRunningOnAppVeyor = buildSystem.AppVeyor.IsRunningOnAppVeyor; |
|
||||
IsRunningOnAzure = buildSystem.IsRunningOnVSTS || buildSystem.IsRunningOnTFS || context.EnvironmentVariable("LOGNAME") == "vsts"; |
|
||||
|
|
||||
IsPullRequest = buildSystem.AppVeyor.Environment.PullRequest.IsPullRequest; |
|
||||
IsMainRepo = StringComparer.OrdinalIgnoreCase.Equals(MainRepo, context.EnvironmentVariable("BUILD_REPOSITORY_URI")); |
|
||||
IsMasterBranch = StringComparer.OrdinalIgnoreCase.Equals(MasterBranch, context.EnvironmentVariable("BUILD_SOURCEBRANCHNAME")); |
|
||||
IsReleaseBranch = (context.EnvironmentVariable("BUILD_SOURCEBRANCH")??"").StartsWith(ReleaseBranchPrefix, StringComparison.OrdinalIgnoreCase); |
|
||||
IsTagged = buildSystem.AppVeyor.Environment.Repository.Tag.IsTag |
|
||||
&& !string.IsNullOrWhiteSpace(buildSystem.AppVeyor.Environment.Repository.Tag.Name); |
|
||||
IsReleasable = StringComparer.OrdinalIgnoreCase.Equals(ReleaseConfiguration, Configuration); |
|
||||
IsMyGetRelease = !IsTagged && IsReleasable; |
|
||||
IsNuGetRelease = IsMainRepo && IsReleasable && IsReleaseBranch; |
|
||||
|
|
||||
// VERSION |
|
||||
Version = context.Argument("force-nuget-version", GetVersion()); |
|
||||
|
|
||||
if (IsRunningOnAppVeyor) |
|
||||
{ |
|
||||
string tagVersion = null; |
|
||||
if (IsTagged) |
|
||||
{ |
|
||||
var tag = buildSystem.AppVeyor.Environment.Repository.Tag.Name; |
|
||||
var nugetReleasePrefix = "nuget-release-"; |
|
||||
IsNuGetRelease = IsTagged && IsReleasable && tag.StartsWith(nugetReleasePrefix); |
|
||||
if(IsNuGetRelease) |
|
||||
tagVersion = tag.Substring(nugetReleasePrefix.Length); |
|
||||
} |
|
||||
if(tagVersion != null) |
|
||||
{ |
|
||||
Version = tagVersion; |
|
||||
} |
|
||||
else |
|
||||
{ |
|
||||
// Use AssemblyVersion with Build as version |
|
||||
Version += "-build" + context.EnvironmentVariable("APPVEYOR_BUILD_NUMBER") + "-beta"; |
|
||||
} |
|
||||
} |
|
||||
else if (IsRunningOnAzure) |
|
||||
{ |
|
||||
if(!IsNuGetRelease) |
|
||||
{ |
|
||||
// Use AssemblyVersion with Build as version |
|
||||
Version += "-build" + context.EnvironmentVariable("BUILD_BUILDID") + "-beta"; |
|
||||
} |
|
||||
|
|
||||
PublishTestResults = true; |
|
||||
} |
|
||||
|
|
||||
// DIRECTORIES |
|
||||
ArtifactsDir = (DirectoryPath)context.Directory("./artifacts"); |
|
||||
NugetRoot = ArtifactsDir.Combine("nuget"); |
|
||||
ZipRoot = ArtifactsDir.Combine("zip"); |
|
||||
BinRoot = ArtifactsDir.Combine("bin"); |
|
||||
TestResultsRoot = ArtifactsDir.Combine("test-results"); |
|
||||
BuildDirs = context.GetDirectories("**/bin") + context.GetDirectories("**/obj"); |
|
||||
DirSuffix = Configuration; |
|
||||
FileZipSuffix = Version + ".zip"; |
|
||||
ZipCoreArtifacts = ZipRoot.CombineWithFilePath("Avalonia-" + FileZipSuffix); |
|
||||
ZipNuGetArtifacts = ZipRoot.CombineWithFilePath("Avalonia-NuGet-" + FileZipSuffix); |
|
||||
ZipSourceControlCatalogDesktopDirs = (DirectoryPath)context.Directory("./samples/ControlCatalog.Desktop/bin/" + DirSuffix + "/net461"); |
|
||||
ZipTargetControlCatalogDesktopDirs = ZipRoot.CombineWithFilePath("ControlCatalog.Desktop-" + FileZipSuffix); |
|
||||
} |
|
||||
|
|
||||
private static string GetVersion() |
|
||||
{ |
|
||||
var xdoc = XDocument.Load("./build/SharedVersion.props"); |
|
||||
return xdoc.Descendants().First(x => x.Name.LocalName == "Version").Value; |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue