From 064c89bd42583b3d6103be1b2fee4db12e29f6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 15:17:42 +0200 Subject: [PATCH 01/23] Refactored Cake script to enable running Impl tasks without dependencies --- build.cake | 140 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 49 deletions(-) diff --git a/build.cake b/build.cake index 561a33186a..e739d9375e 100644 --- a/build.cake +++ b/build.cake @@ -95,10 +95,10 @@ Teardown((context, buildContext) => }); /////////////////////////////////////////////////////////////////////////////// -// TASKS +// TASKS IMPLEMENTATIONS /////////////////////////////////////////////////////////////////////////////// -Task("Clean") +Task("Clean-Impl") .Does(data => { CleanDirectories(data.Parameters.BuildDirs); @@ -108,9 +108,7 @@ Task("Clean") CleanDirectory(data.Parameters.BinRoot); }); -Task("Restore-NuGet-Packages") - .IsDependentOn("Clean") - .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) +Task("Restore-NuGet-Packages-Impl") .Does(data => { var maxRetryCount = 5; @@ -148,8 +146,7 @@ void DotNetCoreBuild(Parameters parameters) DotNetCoreBuild(parameters.MSBuildSolution, settings); } -Task("Build") - .IsDependentOn("Restore-NuGet-Packages") +Task("Build-Impl") .Does(data => { if(data.Parameters.IsRunningOnWindows) @@ -171,7 +168,6 @@ Task("Build") } }); - void RunCoreTest(string project, Parameters parameters, bool coreOnly = false) { if(!project.EndsWith(".csproj")) @@ -194,9 +190,7 @@ void RunCoreTest(string project, Parameters parameters, bool coreOnly = false) } } -Task("Run-Unit-Tests") - .IsDependentOn("Build") - .WithCriteria((context, data) => !data.Parameters.SkipTests) +Task("Run-Unit-Tests-Impl") .Does(data => { RunCoreTest("./tests/Avalonia.Base.UnitTests", data.Parameters, false); RunCoreTest("./tests/Avalonia.Controls.UnitTests", data.Parameters, false); @@ -214,24 +208,18 @@ Task("Run-Unit-Tests") } }); -Task("Run-Designer-Tests") - .IsDependentOn("Build") - .WithCriteria((context, data) => !data.Parameters.SkipTests) +Task("Run-Designer-Tests-Impl") .Does(data => { RunCoreTest("./tests/Avalonia.DesignerSupport.Tests", data.Parameters, false); }); -Task("Run-Render-Tests") - .IsDependentOn("Build") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) +Task("Run-Render-Tests-Impl") .Does(data => { RunCoreTest("./tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj", data.Parameters, true); RunCoreTest("./tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj", data.Parameters, true); }); -Task("Run-Leak-Tests") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) - .IsDependentOn("Build") +Task("Run-Leak-Tests-Impl") .Does(() => { var dotMemoryUnit = Context.Tools.Resolve("dotMemoryUnit.exe"); @@ -251,21 +239,13 @@ Task("Run-Leak-Tests") } }); -Task("Run-Tests") - .IsDependentOn("Run-Unit-Tests") - .IsDependentOn("Run-Render-Tests") - .IsDependentOn("Run-Designer-Tests") - .IsDependentOn("Run-Leak-Tests"); - -Task("Copy-Files") - .IsDependentOn("Run-Tests") +Task("Copy-Files-Impl") .Does(data => { CopyFiles(data.Packages.BinFiles, data.Parameters.BinRoot); }); -Task("Zip-Files") - .IsDependentOn("Copy-Files") +Task("Zip-Files-Impl") .Does(data => { Zip(data.Parameters.BinRoot, data.Parameters.ZipCoreArtifacts); @@ -279,9 +259,7 @@ Task("Zip-Files") GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.exe")); }); -Task("Create-NuGet-Packages") - .IsDependentOn("Run-Tests") - .IsDependentOn("Inspect") +Task("Create-NuGet-Packages-Impl") .Does(data => { foreach(var nuspec in data.Packages.NuspecNuGetSettings) @@ -290,13 +268,7 @@ Task("Create-NuGet-Packages") } }); -Task("Publish-MyGet") - .IsDependentOn("Create-NuGet-Packages") - .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) - .WithCriteria((context, data) => !data.Parameters.IsPullRequest) - .WithCriteria((context, data) => data.Parameters.IsMainRepo) - .WithCriteria((context, data) => data.Parameters.IsMasterBranch) - .WithCriteria((context, data) => data.Parameters.IsMyGetRelease) +Task("Publish-MyGet-Impl") .Does(data => { var apiKey = EnvironmentVariable("MYGET_API_KEY"); @@ -324,12 +296,7 @@ Task("Publish-MyGet") Information("Publish-MyGet Task failed, but continuing with next Task..."); }); -Task("Publish-NuGet") - .IsDependentOn("Create-NuGet-Packages") - .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) - .WithCriteria((context, data) => !data.Parameters.IsPullRequest) - .WithCriteria((context, data) => data.Parameters.IsMainRepo) - .WithCriteria((context, data) => data.Parameters.IsNuGetRelease) +Task("Publish-NuGet-Impl") .Does(data => { var apiKey = EnvironmentVariable("NUGET_API_KEY"); @@ -357,9 +324,7 @@ Task("Publish-NuGet") Information("Publish-NuGet Task failed, but continuing with next Task..."); }); -Task("Inspect") - .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) - .IsDependentOn("Restore-NuGet-Packages") +Task("Inspect-Impl") .Does(() => { var badIssues = new []{"PossibleNullReferenceException"}; @@ -394,6 +359,83 @@ Task("Inspect") throw new Exception("Issues found"); }); +/////////////////////////////////////////////////////////////////////////////// +// TASKS DEPENDENCY TREE +/////////////////////////////////////////////////////////////////////////////// + +Task("Clean"); + .IsDependentOn("Clean-Impl"); + +Task("Restore-NuGet-Packages") + .IsDependentOn("Restore-NuGet-Packages-Impl"); + .IsDependentOn("Clean") + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows); + +Task("Build") + .IsDependentOn("Build-Impl"); + .IsDependentOn("Restore-NuGet-Packages"); + +Task("Run-Unit-Tests") + .IsDependentOn("Run-Unit-Tests-Impl"); + .IsDependentOn("Build") + .WithCriteria((context, data) => !data.Parameters.SkipTests); + +Task("Run-Designer-Tests") + .IsDependentOn("Run-Designer-Tests-Impl"); + .IsDependentOn("Build") + .WithCriteria((context, data) => !data.Parameters.SkipTests); + +Task("Run-Render-Tests") + .IsDependentOn("Run-Render-Tests-Impl"); + .IsDependentOn("Build") + .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows); + +Task("Run-Leak-Tests") + .IsDependentOn("Run-Leak-Tests-Impl"); + .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .IsDependentOn("Build"); + +Task("Run-Tests") + .IsDependentOn("Run-Unit-Tests") + .IsDependentOn("Run-Render-Tests") + .IsDependentOn("Run-Designer-Tests") + .IsDependentOn("Run-Leak-Tests"); + +Task("Copy-Files") + .IsDependentOn("Copy-Files-Impl"); + .IsDependentOn("Run-Tests"); + +Task("Zip-Files") + .IsDependentOn("Zip-Files-Impl"); + .IsDependentOn("Copy-Files"); + +Task("Create-NuGet-Packages") + .IsDependentOn("Create-NuGet-Packages-Impl"); + .IsDependentOn("Run-Tests"); + .IsDependentOn("Inspect"); + +Task("Publish-MyGet") + .IsDependentOn("Publish-MyGet-Impl"); + .IsDependentOn("Create-NuGet-Packages"); + .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) + .WithCriteria((context, data) => !data.Parameters.IsPullRequest) + .WithCriteria((context, data) => data.Parameters.IsMainRepo) + .WithCriteria((context, data) => data.Parameters.IsMasterBranch) + .WithCriteria((context, data) => data.Parameters.IsMyGetRelease); + +Task("Publish-NuGet") + .IsDependentOn("Publish-NuGet-Impl"); + .IsDependentOn("Create-NuGet-Packages") + .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) + .WithCriteria((context, data) => !data.Parameters.IsPullRequest) + .WithCriteria((context, data) => data.Parameters.IsMainRepo) + .WithCriteria((context, data) => data.Parameters.IsNuGetRelease); + +Task("Inspect") + .IsDependentOn("Inspect-Impl"); + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) + .IsDependentOn("Restore-NuGet-Packages"); + /////////////////////////////////////////////////////////////////////////////// // TARGETS /////////////////////////////////////////////////////////////////////////////// From 4de1d156bfbe2599377f52e37efa952dba50abd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 15:26:16 +0200 Subject: [PATCH 02/23] Fix errors --- build.cake | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/build.cake b/build.cake index e739d9375e..d60e358184 100644 --- a/build.cake +++ b/build.cake @@ -363,35 +363,35 @@ Task("Inspect-Impl") // TASKS DEPENDENCY TREE /////////////////////////////////////////////////////////////////////////////// -Task("Clean"); +Task("Clean") .IsDependentOn("Clean-Impl"); Task("Restore-NuGet-Packages") - .IsDependentOn("Restore-NuGet-Packages-Impl"); + .IsDependentOn("Restore-NuGet-Packages-Impl") .IsDependentOn("Clean") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows); Task("Build") - .IsDependentOn("Build-Impl"); + .IsDependentOn("Build-Impl") .IsDependentOn("Restore-NuGet-Packages"); Task("Run-Unit-Tests") - .IsDependentOn("Run-Unit-Tests-Impl"); + .IsDependentOn("Run-Unit-Tests-Impl") .IsDependentOn("Build") .WithCriteria((context, data) => !data.Parameters.SkipTests); Task("Run-Designer-Tests") - .IsDependentOn("Run-Designer-Tests-Impl"); + .IsDependentOn("Run-Designer-Tests-Impl") .IsDependentOn("Build") .WithCriteria((context, data) => !data.Parameters.SkipTests); Task("Run-Render-Tests") - .IsDependentOn("Run-Render-Tests-Impl"); + .IsDependentOn("Run-Render-Tests-Impl") .IsDependentOn("Build") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows); Task("Run-Leak-Tests") - .IsDependentOn("Run-Leak-Tests-Impl"); + .IsDependentOn("Run-Leak-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .IsDependentOn("Build"); @@ -402,21 +402,21 @@ Task("Run-Tests") .IsDependentOn("Run-Leak-Tests"); Task("Copy-Files") - .IsDependentOn("Copy-Files-Impl"); + .IsDependentOn("Copy-Files-Impl") .IsDependentOn("Run-Tests"); Task("Zip-Files") - .IsDependentOn("Zip-Files-Impl"); + .IsDependentOn("Zip-Files-Impl") .IsDependentOn("Copy-Files"); Task("Create-NuGet-Packages") - .IsDependentOn("Create-NuGet-Packages-Impl"); - .IsDependentOn("Run-Tests"); + .IsDependentOn("Create-NuGet-Packages-Impl") + .IsDependentOn("Run-Tests") .IsDependentOn("Inspect"); Task("Publish-MyGet") - .IsDependentOn("Publish-MyGet-Impl"); - .IsDependentOn("Create-NuGet-Packages"); + .IsDependentOn("Publish-MyGet-Impl") + .IsDependentOn("Create-NuGet-Packages") .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) .WithCriteria((context, data) => !data.Parameters.IsPullRequest) .WithCriteria((context, data) => data.Parameters.IsMainRepo) @@ -424,7 +424,7 @@ Task("Publish-MyGet") .WithCriteria((context, data) => data.Parameters.IsMyGetRelease); Task("Publish-NuGet") - .IsDependentOn("Publish-NuGet-Impl"); + .IsDependentOn("Publish-NuGet-Impl") .IsDependentOn("Create-NuGet-Packages") .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) .WithCriteria((context, data) => !data.Parameters.IsPullRequest) @@ -432,7 +432,7 @@ Task("Publish-NuGet") .WithCriteria((context, data) => data.Parameters.IsNuGetRelease); Task("Inspect") - .IsDependentOn("Inspect-Impl"); + .IsDependentOn("Inspect-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .IsDependentOn("Restore-NuGet-Packages"); From c9fa15fce82edc376617cb853f9ea92eeefc71a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 15:27:21 +0200 Subject: [PATCH 03/23] Fix dependency order --- build.cake | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/build.cake b/build.cake index d60e358184..7bac795633 100644 --- a/build.cake +++ b/build.cake @@ -367,33 +367,33 @@ Task("Clean") .IsDependentOn("Clean-Impl"); Task("Restore-NuGet-Packages") - .IsDependentOn("Restore-NuGet-Packages-Impl") .IsDependentOn("Clean") - .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows); + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) + .IsDependentOn("Restore-NuGet-Packages-Impl"); Task("Build") - .IsDependentOn("Build-Impl") - .IsDependentOn("Restore-NuGet-Packages"); + .IsDependentOn("Restore-NuGet-Packages") + .IsDependentOn("Build-Impl"); Task("Run-Unit-Tests") - .IsDependentOn("Run-Unit-Tests-Impl") .IsDependentOn("Build") - .WithCriteria((context, data) => !data.Parameters.SkipTests); + .WithCriteria((context, data) => !data.Parameters.SkipTests) + .IsDependentOn("Run-Unit-Tests-Impl"); Task("Run-Designer-Tests") - .IsDependentOn("Run-Designer-Tests-Impl") .IsDependentOn("Build") - .WithCriteria((context, data) => !data.Parameters.SkipTests); + .WithCriteria((context, data) => !data.Parameters.SkipTests) + .IsDependentOn("Run-Designer-Tests-Impl"); Task("Run-Render-Tests") - .IsDependentOn("Run-Render-Tests-Impl") .IsDependentOn("Build") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows); + .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .IsDependentOn("Run-Render-Tests-Impl"); Task("Run-Leak-Tests") - .IsDependentOn("Run-Leak-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) - .IsDependentOn("Build"); + .IsDependentOn("Build") + .IsDependentOn("Run-Leak-Tests-Impl"); Task("Run-Tests") .IsDependentOn("Run-Unit-Tests") @@ -402,39 +402,39 @@ Task("Run-Tests") .IsDependentOn("Run-Leak-Tests"); Task("Copy-Files") - .IsDependentOn("Copy-Files-Impl") - .IsDependentOn("Run-Tests"); + .IsDependentOn("Run-Tests") + .IsDependentOn("Copy-Files-Impl"); Task("Zip-Files") - .IsDependentOn("Zip-Files-Impl") - .IsDependentOn("Copy-Files"); + .IsDependentOn("Copy-Files") + .IsDependentOn("Zip-Files-Impl"); Task("Create-NuGet-Packages") - .IsDependentOn("Create-NuGet-Packages-Impl") .IsDependentOn("Run-Tests") - .IsDependentOn("Inspect"); + .IsDependentOn("Inspect") + .IsDependentOn("Create-NuGet-Packages-Impl"); Task("Publish-MyGet") - .IsDependentOn("Publish-MyGet-Impl") .IsDependentOn("Create-NuGet-Packages") .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) .WithCriteria((context, data) => !data.Parameters.IsPullRequest) .WithCriteria((context, data) => data.Parameters.IsMainRepo) .WithCriteria((context, data) => data.Parameters.IsMasterBranch) - .WithCriteria((context, data) => data.Parameters.IsMyGetRelease); + .WithCriteria((context, data) => data.Parameters.IsMyGetRelease) + .IsDependentOn("Publish-MyGet-Impl"); Task("Publish-NuGet") - .IsDependentOn("Publish-NuGet-Impl") .IsDependentOn("Create-NuGet-Packages") .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) .WithCriteria((context, data) => !data.Parameters.IsPullRequest) .WithCriteria((context, data) => data.Parameters.IsMainRepo) - .WithCriteria((context, data) => data.Parameters.IsNuGetRelease); + .WithCriteria((context, data) => data.Parameters.IsNuGetRelease) + .IsDependentOn("Publish-NuGet-Impl"); Task("Inspect") - .IsDependentOn("Inspect-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) - .IsDependentOn("Restore-NuGet-Packages"); + .IsDependentOn("Restore-NuGet-Packages") + .IsDependentOn("Inspect-Impl"); /////////////////////////////////////////////////////////////////////////////// // TARGETS From 9da1c65eec57af931cd41a3403e5a2503938cdb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 15:53:31 +0200 Subject: [PATCH 04/23] Check first for criteria --- build.cake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build.cake b/build.cake index 7bac795633..0007e83c61 100644 --- a/build.cake +++ b/build.cake @@ -367,8 +367,8 @@ Task("Clean") .IsDependentOn("Clean-Impl"); Task("Restore-NuGet-Packages") - .IsDependentOn("Clean") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) + .IsDependentOn("Clean") .IsDependentOn("Restore-NuGet-Packages-Impl"); Task("Build") @@ -376,18 +376,18 @@ Task("Build") .IsDependentOn("Build-Impl"); Task("Run-Unit-Tests") - .IsDependentOn("Build") .WithCriteria((context, data) => !data.Parameters.SkipTests) + .IsDependentOn("Build") .IsDependentOn("Run-Unit-Tests-Impl"); Task("Run-Designer-Tests") - .IsDependentOn("Build") .WithCriteria((context, data) => !data.Parameters.SkipTests) + .IsDependentOn("Build") .IsDependentOn("Run-Designer-Tests-Impl"); Task("Run-Render-Tests") - .IsDependentOn("Build") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .IsDependentOn("Build") .IsDependentOn("Run-Render-Tests-Impl"); Task("Run-Leak-Tests") @@ -415,20 +415,20 @@ Task("Create-NuGet-Packages") .IsDependentOn("Create-NuGet-Packages-Impl"); Task("Publish-MyGet") - .IsDependentOn("Create-NuGet-Packages") .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) .WithCriteria((context, data) => !data.Parameters.IsPullRequest) .WithCriteria((context, data) => data.Parameters.IsMainRepo) .WithCriteria((context, data) => data.Parameters.IsMasterBranch) .WithCriteria((context, data) => data.Parameters.IsMyGetRelease) + .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-MyGet-Impl"); Task("Publish-NuGet") - .IsDependentOn("Create-NuGet-Packages") .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) .WithCriteria((context, data) => !data.Parameters.IsPullRequest) .WithCriteria((context, data) => data.Parameters.IsMainRepo) .WithCriteria((context, data) => data.Parameters.IsNuGetRelease) + .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-NuGet-Impl"); Task("Inspect") From 3bcaa2996aa9576691263ab20afc4d859764f125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:18:15 +0200 Subject: [PATCH 05/23] Moved criteria to Impl tasks --- build.cake | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/build.cake b/build.cake index 0007e83c61..dca58e54b3 100644 --- a/build.cake +++ b/build.cake @@ -109,6 +109,7 @@ Task("Clean-Impl") }); Task("Restore-NuGet-Packages-Impl") + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .Does(data => { var maxRetryCount = 5; @@ -191,6 +192,7 @@ void RunCoreTest(string project, Parameters parameters, bool coreOnly = false) } Task("Run-Unit-Tests-Impl") + .WithCriteria((context, data) => !data.Parameters.SkipTests) .Does(data => { RunCoreTest("./tests/Avalonia.Base.UnitTests", data.Parameters, false); RunCoreTest("./tests/Avalonia.Controls.UnitTests", data.Parameters, false); @@ -209,17 +211,20 @@ Task("Run-Unit-Tests-Impl") }); Task("Run-Designer-Tests-Impl") + .WithCriteria((context, data) => !data.Parameters.SkipTests) .Does(data => { RunCoreTest("./tests/Avalonia.DesignerSupport.Tests", data.Parameters, false); }); Task("Run-Render-Tests-Impl") + .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .Does(data => { RunCoreTest("./tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj", data.Parameters, true); RunCoreTest("./tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj", data.Parameters, true); }); Task("Run-Leak-Tests-Impl") + .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .Does(() => { var dotMemoryUnit = Context.Tools.Resolve("dotMemoryUnit.exe"); @@ -269,6 +274,11 @@ Task("Create-NuGet-Packages-Impl") }); Task("Publish-MyGet-Impl") + .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) + .WithCriteria((context, data) => !data.Parameters.IsPullRequest) + .WithCriteria((context, data) => data.Parameters.IsMainRepo) + .WithCriteria((context, data) => data.Parameters.IsMasterBranch) + .WithCriteria((context, data) => data.Parameters.IsMyGetRelease) .Does(data => { var apiKey = EnvironmentVariable("MYGET_API_KEY"); @@ -297,6 +307,10 @@ Task("Publish-MyGet-Impl") }); Task("Publish-NuGet-Impl") + .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) + .WithCriteria((context, data) => !data.Parameters.IsPullRequest) + .WithCriteria((context, data) => data.Parameters.IsMainRepo) + .WithCriteria((context, data) => data.Parameters.IsNuGetRelease) .Does(data => { var apiKey = EnvironmentVariable("NUGET_API_KEY"); @@ -325,6 +339,7 @@ Task("Publish-NuGet-Impl") }); Task("Inspect-Impl") + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .Does(() => { var badIssues = new []{"PossibleNullReferenceException"}; @@ -367,7 +382,6 @@ Task("Clean") .IsDependentOn("Clean-Impl"); Task("Restore-NuGet-Packages") - .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .IsDependentOn("Clean") .IsDependentOn("Restore-NuGet-Packages-Impl"); @@ -376,22 +390,18 @@ Task("Build") .IsDependentOn("Build-Impl"); Task("Run-Unit-Tests") - .WithCriteria((context, data) => !data.Parameters.SkipTests) .IsDependentOn("Build") .IsDependentOn("Run-Unit-Tests-Impl"); Task("Run-Designer-Tests") - .WithCriteria((context, data) => !data.Parameters.SkipTests) .IsDependentOn("Build") .IsDependentOn("Run-Designer-Tests-Impl"); Task("Run-Render-Tests") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .IsDependentOn("Build") .IsDependentOn("Run-Render-Tests-Impl"); Task("Run-Leak-Tests") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .IsDependentOn("Build") .IsDependentOn("Run-Leak-Tests-Impl"); @@ -415,24 +425,14 @@ Task("Create-NuGet-Packages") .IsDependentOn("Create-NuGet-Packages-Impl"); Task("Publish-MyGet") - .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) - .WithCriteria((context, data) => !data.Parameters.IsPullRequest) - .WithCriteria((context, data) => data.Parameters.IsMainRepo) - .WithCriteria((context, data) => data.Parameters.IsMasterBranch) - .WithCriteria((context, data) => data.Parameters.IsMyGetRelease) .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-MyGet-Impl"); Task("Publish-NuGet") - .WithCriteria((context, data) => !data.Parameters.IsLocalBuild) - .WithCriteria((context, data) => !data.Parameters.IsPullRequest) - .WithCriteria((context, data) => data.Parameters.IsMainRepo) - .WithCriteria((context, data) => data.Parameters.IsNuGetRelease) .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-NuGet-Impl"); Task("Inspect") - .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .IsDependentOn("Restore-NuGet-Packages") .IsDependentOn("Inspect-Impl"); From 84be6a7d35a676f3fdaffb20f90a07078a217a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:32:02 +0200 Subject: [PATCH 06/23] Check for NetCoreOnly platform --- build.cake | 3 ++- packages.cake | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build.cake b/build.cake index dca58e54b3..839f91b135 100644 --- a/build.cake +++ b/build.cake @@ -110,6 +110,7 @@ Task("Clean-Impl") Task("Restore-NuGet-Packages-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) + .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") .Does(data => { var maxRetryCount = 5; @@ -150,7 +151,7 @@ void DotNetCoreBuild(Parameters parameters) Task("Build-Impl") .Does(data => { - if(data.Parameters.IsRunningOnWindows) + if(data.Parameters.IsRunningOnWindows && data.Parameters.Platform != "NetCoreOnly") { MSBuild(data.Parameters.MSBuildSolution, settings => { settings.SetConfiguration(data.Parameters.Configuration); diff --git a/packages.cake b/packages.cake index 79147b5f99..ffc6e7d257 100644 --- a/packages.cake +++ b/packages.cake @@ -491,7 +491,10 @@ public class Packages NuspecNuGetSettings.AddRange(nuspecNuGetSettingsCore); NuspecNuGetSettings.AddRange(nuspecNuGetSettingsDesktop); - NuspecNuGetSettings.AddRange(nuspecNuGetSettingsMobile); + + if (parameters.Platform != "NetCoreOnly") { + NuspecNuGetSettings.AddRange(nuspecNuGetSettingsMobile); + } NuspecNuGetSettings.ForEach((nuspec) => SetNuGetNuspecCommonProperties(nuspec)); From 81bd1c1acc01e763077c7218a025d8ea33db9096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:34:46 +0200 Subject: [PATCH 07/23] More NetCoreOnly checks --- build.cake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build.cake b/build.cake index 839f91b135..8e58eaf4b1 100644 --- a/build.cake +++ b/build.cake @@ -205,7 +205,7 @@ Task("Run-Unit-Tests-Impl") RunCoreTest("./tests/Avalonia.Styling.UnitTests", data.Parameters, false); RunCoreTest("./tests/Avalonia.Visuals.UnitTests", data.Parameters, false); RunCoreTest("./tests/Avalonia.Skia.UnitTests", data.Parameters, false); - if (data.Parameters.IsRunningOnWindows) + if (data.Parameters.IsRunningOnWindows && data.Parameters.Platform != "NetCoreOnly") { RunCoreTest("./tests/Avalonia.Direct2D1.UnitTests", data.Parameters, true); } @@ -219,6 +219,7 @@ Task("Run-Designer-Tests-Impl") Task("Run-Render-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") .Does(data => { RunCoreTest("./tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj", data.Parameters, true); RunCoreTest("./tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj", data.Parameters, true); @@ -226,6 +227,7 @@ Task("Run-Render-Tests-Impl") Task("Run-Leak-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") .Does(() => { var dotMemoryUnit = Context.Tools.Resolve("dotMemoryUnit.exe"); @@ -341,6 +343,7 @@ Task("Publish-NuGet-Impl") Task("Inspect-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) + .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") .Does(() => { var badIssues = new []{"PossibleNullReferenceException"}; From 40eb37c9777d20bb642d466204bb753d6a62ed19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:42:19 +0200 Subject: [PATCH 08/23] Filter core files --- packages.cake | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/packages.cake b/packages.cake index ffc6e7d257..525ba539f9 100644 --- a/packages.cake +++ b/packages.cake @@ -1,3 +1,6 @@ +using System; +using System.Collections; +using System.Collections.Generic; using System.Xml.Linq; public class Packages @@ -9,9 +12,7 @@ public class Packages public string SkiaSharpVersion {get; private set; } public string SkiaSharpLinuxVersion {get; private set; } public Dictionary>> PackageVersions{get; private set;} - - - + class DependencyBuilder : List { Packages _parent; @@ -223,6 +224,21 @@ public class Packages } }; + IList coreFiles; + + if (parameters.Platform != "NetCoreOnly") { + coreFiles = coreLibrariesNuSpecContent + .Concat(win32CoreLibrariesNuSpecContent).Concat(net45RuntimePlatform) + .Concat(netcoreappCoreLibrariesNuSpecContent).Concat(netCoreRuntimePlatform) + .Concat(toolsContent) + .ToList(); + } else { + coreFiles = coreLibrariesNuSpecContent + .Concat(netcoreappCoreLibrariesNuSpecContent).Concat(netCoreRuntimePlatform) + .Concat(toolsContent) + .ToList(); + } + var nuspecNuGetSettingsCore = new [] { /////////////////////////////////////////////////////////////////////////////// @@ -255,11 +271,7 @@ public class Packages "System.ValueTuple", "System.ComponentModel.TypeConverter", "System.ComponentModel.Primitives", "System.Runtime.Serialization.Primitives", "System.Xml.XmlDocument", "System.Xml.ReaderWriter", "System.Memory") .ToArray(), - Files = coreLibrariesNuSpecContent - .Concat(win32CoreLibrariesNuSpecContent).Concat(net45RuntimePlatform) - .Concat(netcoreappCoreLibrariesNuSpecContent).Concat(netCoreRuntimePlatform) - .Concat(toolsContent) - .ToList(), + Files = coreFiles, BasePath = context.Directory("./"), OutputDirectory = parameters.NugetRoot }, From a0196a3ddc130ca95831b9ebe827d62f86d0a9a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:46:15 +0200 Subject: [PATCH 09/23] Filter tools content --- packages.cake | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/packages.cake b/packages.cake index 525ba539f9..3071ddf2a0 100644 --- a/packages.cake +++ b/packages.cake @@ -213,26 +213,27 @@ public class Packages }; }); - var toolsContent = new[] { - new NuSpecContent{ - Source = ((FilePath)context.File("./src/tools/Avalonia.Designer.HostApp/bin/" + parameters.DirSuffix + "/netcoreapp2.0/Avalonia.Designer.HostApp.dll")).FullPath, - Target = "tools/netcoreapp2.0/previewer" - }, - new NuSpecContent{ - Source = ((FilePath)context.File("./src/tools/Avalonia.Designer.HostApp.NetFx/bin/" + parameters.DirSuffix + "/Avalonia.Designer.HostApp.exe")).FullPath, - Target = "tools/net461/previewer" - } + var toolHostApp = new NuSpecContent{ + Source = ((FilePath)context.File("./src/tools/Avalonia.Designer.HostApp/bin/" + parameters.DirSuffix + "/netcoreapp2.0/Avalonia.Designer.HostApp.dll")).FullPath, + Target = "tools/netcoreapp2.0/previewer" + }; + + var toolHostAppNetFx = new NuSpecContent{ + Source = ((FilePath)context.File("./src/tools/Avalonia.Designer.HostApp.NetFx/bin/" + parameters.DirSuffix + "/Avalonia.Designer.HostApp.exe")).FullPath, + Target = "tools/net461/previewer" }; IList coreFiles; if (parameters.Platform != "NetCoreOnly") { + var toolsContent = new[] { toolHostApp, toolHostAppNetFx }; coreFiles = coreLibrariesNuSpecContent .Concat(win32CoreLibrariesNuSpecContent).Concat(net45RuntimePlatform) .Concat(netcoreappCoreLibrariesNuSpecContent).Concat(netCoreRuntimePlatform) .Concat(toolsContent) .ToList(); } else { + var toolsContent = new[] { toolHostApp }; coreFiles = coreLibrariesNuSpecContent .Concat(netcoreappCoreLibrariesNuSpecContent).Concat(netCoreRuntimePlatform) .Concat(toolsContent) From 8661dcc48f6e99659d90a97d316814ea493f3ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:57:26 +0200 Subject: [PATCH 10/23] Enable Direct2D1 for NetCoreOnly platform --- Avalonia.sln | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Avalonia.sln b/Avalonia.sln index 39396f3ab8..75bca0bca8 100644 --- a/Avalonia.sln +++ b/Avalonia.sln @@ -398,6 +398,7 @@ Global {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|NetCoreOnly.ActiveCfg = Debug|Any CPU + {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|NetCoreOnly.Build.0 = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|x86.ActiveCfg = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|x86.Build.0 = Debug|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -407,6 +408,7 @@ Global {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|NetCoreOnly.ActiveCfg = Release|Any CPU + {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|NetCoreOnly.Build.0 = Release|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|x86.ActiveCfg = Release|Any CPU {3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|x86.Build.0 = Release|Any CPU {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU From 21ab8c36662f96f8dd26e57c3e4663304ce4066f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 16:57:45 +0200 Subject: [PATCH 11/23] Do not include interop for NetCoreOnly --- packages.cake | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/packages.cake b/packages.cake index 3071ddf2a0..f45e53aeaf 100644 --- a/packages.cake +++ b/packages.cake @@ -464,22 +464,6 @@ public class Packages BasePath = context.Directory("./"), OutputDirectory = parameters.NugetRoot }, - new NuGetPackSettings() - { - Id = "Avalonia.Win32.Interoperability", - Dependencies = new [] - { - new NuSpecDependency() { Id = "Avalonia.Win32", Version = parameters.Version }, - new NuSpecDependency() { Id = "Avalonia.Direct2D1", Version = parameters.Version }, - new NuSpecDependency() { Id = "SharpDX.Direct3D9", Version = SharpDXDirect3D9Version }, - }, - Files = new [] - { - new NuSpecContent { Source = "Avalonia.Win32.Interop/bin/" + parameters.DirSuffix + "/Avalonia.Win32.Interop.dll", Target = "lib/net45" } - }, - BasePath = context.Directory("./src/Windows"), - OutputDirectory = parameters.NugetRoot - }, /////////////////////////////////////////////////////////////////////////////// // Avalonia.LinuxFramebuffer /////////////////////////////////////////////////////////////////////////////// @@ -500,12 +484,30 @@ public class Packages } }; + var nuspecNuGetSettingInterop = new NuGetPackSettings() + { + Id = "Avalonia.Win32.Interoperability", + Dependencies = new [] + { + new NuSpecDependency() { Id = "Avalonia.Win32", Version = parameters.Version }, + new NuSpecDependency() { Id = "Avalonia.Direct2D1", Version = parameters.Version }, + new NuSpecDependency() { Id = "SharpDX.Direct3D9", Version = SharpDXDirect3D9Version }, + }, + Files = new [] + { + new NuSpecContent { Source = "Avalonia.Win32.Interop/bin/" + parameters.DirSuffix + "/Avalonia.Win32.Interop.dll", Target = "lib/net45" } + }, + BasePath = context.Directory("./src/Windows"), + OutputDirectory = parameters.NugetRoot + }; + NuspecNuGetSettings = new List(); NuspecNuGetSettings.AddRange(nuspecNuGetSettingsCore); NuspecNuGetSettings.AddRange(nuspecNuGetSettingsDesktop); if (parameters.Platform != "NetCoreOnly") { + NuspecNuGetSettings.Add(nuspecNuGetSettingInterop); NuspecNuGetSettings.AddRange(nuspecNuGetSettingsMobile); } From e787ff5a5a8b96e64e52e562fb9744830ecbac1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 17:01:39 +0200 Subject: [PATCH 12/23] Zip nupkg --- build.cake | 2 ++ parameters.cake | 2 ++ 2 files changed, 4 insertions(+) diff --git a/build.cake b/build.cake index 8e58eaf4b1..941f640544 100644 --- a/build.cake +++ b/build.cake @@ -258,6 +258,8 @@ Task("Zip-Files-Impl") { Zip(data.Parameters.BinRoot, data.Parameters.ZipCoreArtifacts); + Zip(data.Parameters.NugetRoot, data.Parameters.ZipNuGetArtifacts); + Zip(data.Parameters.ZipSourceControlCatalogDesktopDirs, data.Parameters.ZipTargetControlCatalogDesktopDirs, GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.dll") + diff --git a/parameters.cake b/parameters.cake index ffd472cbd4..939ac6227e 100644 --- a/parameters.cake +++ b/parameters.cake @@ -34,6 +34,7 @@ public class Parameters 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; } @@ -111,6 +112,7 @@ public class Parameters 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); } From 5cd9ede2893235cca9f1ec8e7ed27b7247200dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 17:29:42 +0200 Subject: [PATCH 13/23] Fix Zip-Files task --- build.cake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.cake b/build.cake index 941f640544..34ad461819 100644 --- a/build.cake +++ b/build.cake @@ -423,6 +423,7 @@ Task("Copy-Files") Task("Zip-Files") .IsDependentOn("Copy-Files") + .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Zip-Files-Impl"); Task("Create-NuGet-Packages") @@ -450,9 +451,9 @@ Task("Package") .IsDependentOn("Create-NuGet-Packages"); Task("AppVeyor") - .IsDependentOn("Zip-Files") .IsDependentOn("Publish-MyGet") - .IsDependentOn("Publish-NuGet"); + .IsDependentOn("Publish-NuGet") + .IsDependentOn("Zip-Files"); Task("Travis") .IsDependentOn("Run-Tests"); From 03628cc0bb10f0d3505eb581829b1a930b6cf060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Fri, 29 Jun 2018 17:37:45 +0200 Subject: [PATCH 14/23] Do not copy when building NetCoreOnly platform --- build.cake | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/build.cake b/build.cake index 34ad461819..ab20f7fc7f 100644 --- a/build.cake +++ b/build.cake @@ -260,13 +260,15 @@ Task("Zip-Files-Impl") Zip(data.Parameters.NugetRoot, data.Parameters.ZipNuGetArtifacts); - Zip(data.Parameters.ZipSourceControlCatalogDesktopDirs, - data.Parameters.ZipTargetControlCatalogDesktopDirs, - GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.dll") + - GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.config") + - GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.so") + - GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.dylib") + - GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.exe")); + if (data.Parameters.Platform != "NetCoreOnly") { + Zip(data.Parameters.ZipSourceControlCatalogDesktopDirs, + data.Parameters.ZipTargetControlCatalogDesktopDirs, + GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.dll") + + GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.config") + + GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.so") + + GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.dylib") + + GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.exe")); + } }); Task("Create-NuGet-Packages-Impl") From 30c9ef8dd46dc6000b2fc414d333de01179e8ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 12:38:32 +0200 Subject: [PATCH 15/23] Simplified task graph --- build.cake | 49 ++++++++++--------------------------------------- 1 file changed, 10 insertions(+), 39 deletions(-) diff --git a/build.cake b/build.cake index ab20f7fc7f..66a30edb59 100644 --- a/build.cake +++ b/build.cake @@ -386,53 +386,28 @@ Task("Inspect-Impl") // TASKS DEPENDENCY TREE /////////////////////////////////////////////////////////////////////////////// -Task("Clean") - .IsDependentOn("Clean-Impl"); - -Task("Restore-NuGet-Packages") - .IsDependentOn("Clean") - .IsDependentOn("Restore-NuGet-Packages-Impl"); - Task("Build") - .IsDependentOn("Restore-NuGet-Packages") + .IsDependentOn("Clean-Impl") + .IsDependentOn("Restore-NuGet-Packages-Impl") .IsDependentOn("Build-Impl"); -Task("Run-Unit-Tests") - .IsDependentOn("Build") - .IsDependentOn("Run-Unit-Tests-Impl"); - -Task("Run-Designer-Tests") - .IsDependentOn("Build") - .IsDependentOn("Run-Designer-Tests-Impl"); - -Task("Run-Render-Tests") - .IsDependentOn("Build") - .IsDependentOn("Run-Render-Tests-Impl"); - -Task("Run-Leak-Tests") +Task("Run-Tests") .IsDependentOn("Build") + .IsDependentOn("Run-Unit-Tests-Impl") + .IsDependentOn("Run-Render-Tests-Impl") + .IsDependentOn("Run-Designer-Tests-Impl") .IsDependentOn("Run-Leak-Tests-Impl"); -Task("Run-Tests") - .IsDependentOn("Run-Unit-Tests") - .IsDependentOn("Run-Render-Tests") - .IsDependentOn("Run-Designer-Tests") - .IsDependentOn("Run-Leak-Tests"); - -Task("Copy-Files") +Task("Create-NuGet-Packages") .IsDependentOn("Run-Tests") - .IsDependentOn("Copy-Files-Impl"); + .IsDependentOn("Inspect-Impl") + .IsDependentOn("Create-NuGet-Packages-Impl"); Task("Zip-Files") - .IsDependentOn("Copy-Files") .IsDependentOn("Create-NuGet-Packages") + .IsDependentOn("Copy-Files-Impl") .IsDependentOn("Zip-Files-Impl"); -Task("Create-NuGet-Packages") - .IsDependentOn("Run-Tests") - .IsDependentOn("Inspect") - .IsDependentOn("Create-NuGet-Packages-Impl"); - Task("Publish-MyGet") .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-MyGet-Impl"); @@ -441,10 +416,6 @@ Task("Publish-NuGet") .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-NuGet-Impl"); -Task("Inspect") - .IsDependentOn("Restore-NuGet-Packages") - .IsDependentOn("Inspect-Impl"); - /////////////////////////////////////////////////////////////////////////////// // TARGETS /////////////////////////////////////////////////////////////////////////////// From 98e08fa63bdbb6449cb76d0d3abe7f550f9689d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 12:42:02 +0200 Subject: [PATCH 16/23] Removed unused task graph --- build.cake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build.cake b/build.cake index 66a30edb59..2b40a0e301 100644 --- a/build.cake +++ b/build.cake @@ -386,13 +386,10 @@ Task("Inspect-Impl") // TASKS DEPENDENCY TREE /////////////////////////////////////////////////////////////////////////////// -Task("Build") +Task("Run-Tests") .IsDependentOn("Clean-Impl") .IsDependentOn("Restore-NuGet-Packages-Impl") - .IsDependentOn("Build-Impl"); - -Task("Run-Tests") - .IsDependentOn("Build") + .IsDependentOn("Build-Impl") .IsDependentOn("Run-Unit-Tests-Impl") .IsDependentOn("Run-Render-Tests-Impl") .IsDependentOn("Run-Designer-Tests-Impl") From 7bfe322cddff7e9300989a864a0fa96dc453fbc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 12:47:29 +0200 Subject: [PATCH 17/23] Formatted code to be consistent --- build.cake | 138 +++++++++++++++++++++++++----------------------- packages.cake | 4 +- parameters.cake | 8 +-- 3 files changed, 74 insertions(+), 76 deletions(-) diff --git a/build.cake b/build.cake index 2b40a0e301..092334b9f8 100644 --- a/build.cake +++ b/build.cake @@ -6,6 +6,7 @@ #addin "nuget:?package=NuGet.Core&version=2.14.0" #tool "nuget:?package=NuGet.CommandLine&version=4.3.0" #tool "nuget:?package=JetBrains.ReSharper.CommandLineTools&version=2017.1.20170613.162720" + /////////////////////////////////////////////////////////////////////////////// // TOOLS /////////////////////////////////////////////////////////////////////////////// @@ -194,59 +195,62 @@ void RunCoreTest(string project, Parameters parameters, bool coreOnly = false) Task("Run-Unit-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests) - .Does(data => { - RunCoreTest("./tests/Avalonia.Base.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Controls.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Input.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Interactivity.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Layout.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Markup.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Markup.Xaml.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Styling.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Visuals.UnitTests", data.Parameters, false); - RunCoreTest("./tests/Avalonia.Skia.UnitTests", data.Parameters, false); - if (data.Parameters.IsRunningOnWindows && data.Parameters.Platform != "NetCoreOnly") - { - RunCoreTest("./tests/Avalonia.Direct2D1.UnitTests", data.Parameters, true); - } - }); + .Does(data => +{ + RunCoreTest("./tests/Avalonia.Base.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Controls.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Input.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Interactivity.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Layout.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Markup.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Markup.Xaml.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Styling.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Visuals.UnitTests", data.Parameters, false); + RunCoreTest("./tests/Avalonia.Skia.UnitTests", data.Parameters, false); + if (data.Parameters.IsRunningOnWindows && data.Parameters.Platform != "NetCoreOnly") + { + RunCoreTest("./tests/Avalonia.Direct2D1.UnitTests", data.Parameters, true); + } +}); Task("Run-Designer-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests) - .Does(data => { - RunCoreTest("./tests/Avalonia.DesignerSupport.Tests", data.Parameters, false); - }); + .Does(data => +{ + RunCoreTest("./tests/Avalonia.DesignerSupport.Tests", data.Parameters, false); +}); Task("Run-Render-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") - .Does(data => { - RunCoreTest("./tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj", data.Parameters, true); - RunCoreTest("./tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj", data.Parameters, true); - }); + .Does(data => +{ + RunCoreTest("./tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj", data.Parameters, true); + RunCoreTest("./tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj", data.Parameters, true); +}); Task("Run-Leak-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") .Does(() => +{ + var dotMemoryUnit = Context.Tools.Resolve("dotMemoryUnit.exe"); + var leakTestsExitCode = StartProcess(dotMemoryUnit, new ProcessSettings { - var dotMemoryUnit = Context.Tools.Resolve("dotMemoryUnit.exe"); - var leakTestsExitCode = StartProcess(dotMemoryUnit, new ProcessSettings - { - Arguments = new ProcessArgumentBuilder() - .Append(Context.Tools.Resolve("xunit.console.x86.exe").FullPath) - .Append("--propagate-exit-code") - .Append("--") - .Append("tests\\Avalonia.LeakTests\\bin\\Release\\net461\\Avalonia.LeakTests.dll"), - Timeout = 120000 - }); - - if (leakTestsExitCode != 0) - { - throw new Exception("Leak Tests failed"); - } + Arguments = new ProcessArgumentBuilder() + .Append(Context.Tools.Resolve("xunit.console.x86.exe").FullPath) + .Append("--propagate-exit-code") + .Append("--") + .Append("tests\\Avalonia.LeakTests\\bin\\Release\\net461\\Avalonia.LeakTests.dll"), + Timeout = 120000 }); + if (leakTestsExitCode != 0) + { + throw new Exception("Leak Tests failed"); + } +}); + Task("Copy-Files-Impl") .Does(data => { @@ -349,38 +353,38 @@ Task("Inspect-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") .Does(() => - { - var badIssues = new []{"PossibleNullReferenceException"}; - var whitelist = new []{"tests", "src\\android", "src\\ios", - "src\\markup\\avalonia.markup.xaml\\portablexaml\\portable.xaml.github"}; - Information("Running code inspections"); - - var exitCode = StartProcess(Context.Tools.Resolve("inspectcode.exe"), - new ProcessSettings - { - Arguments = "--output=artifacts\\inspectcode.xml --profile=Avalonia.sln.DotSettings Avalonia.sln", - RedirectStandardOutput = true - }); +{ + var badIssues = new []{"PossibleNullReferenceException"}; + var whitelist = new []{"tests", "src\\android", "src\\ios", + "src\\markup\\avalonia.markup.xaml\\portablexaml\\portable.xaml.github"}; + Information("Running code inspections"); + + var exitCode = StartProcess(Context.Tools.Resolve("inspectcode.exe"), + new ProcessSettings + { + Arguments = "--output=artifacts\\inspectcode.xml --profile=Avalonia.sln.DotSettings Avalonia.sln", + RedirectStandardOutput = true + }); - Information("Analyzing report"); - var doc = XDocument.Parse(System.IO.File.ReadAllText("artifacts\\inspectcode.xml")); - var failBuild = false; - foreach(var xml in doc.Descendants("Issue")) + Information("Analyzing report"); + var doc = XDocument.Parse(System.IO.File.ReadAllText("artifacts\\inspectcode.xml")); + var failBuild = false; + foreach(var xml in doc.Descendants("Issue")) + { + var typeId = xml.Attribute("TypeId").Value.ToString(); + if(badIssues.Contains(typeId)) { - var typeId = xml.Attribute("TypeId").Value.ToString(); - if(badIssues.Contains(typeId)) - { - var file = xml.Attribute("File").Value.ToString().ToLower(); - if(whitelist.Any(wh => file.StartsWith(wh))) - continue; - var line = xml.Attribute("Line").Value.ToString(); - Error(typeId + " - " + file + " on line " + line); - failBuild = true; - } + var file = xml.Attribute("File").Value.ToString().ToLower(); + if(whitelist.Any(wh => file.StartsWith(wh))) + continue; + var line = xml.Attribute("Line").Value.ToString(); + Error(typeId + " - " + file + " on line " + line); + failBuild = true; } - if(failBuild) - throw new Exception("Issues found"); - }); + } + if(failBuild) + throw new Exception("Issues found"); +}); /////////////////////////////////////////////////////////////////////////////// // TASKS DEPENDENCY TREE diff --git a/packages.cake b/packages.cake index f45e53aeaf..8a1cf8453c 100644 --- a/packages.cake +++ b/packages.cake @@ -16,6 +16,7 @@ public class Packages class DependencyBuilder : List { Packages _parent; + public DependencyBuilder(Packages parent) { _parent = parent; @@ -25,8 +26,7 @@ public class Packages { return _parent.PackageVersions[name].First().Item1; } - - + public DependencyBuilder Dep(string name, params string[] fws) { if(fws.Length == 0) diff --git a/parameters.cake b/parameters.cake index 939ac6227e..328eed81cf 100644 --- a/parameters.cake +++ b/parameters.cake @@ -8,8 +8,7 @@ public class Parameters public string AssemblyInfoPath { get; private set; } public string ReleasePlatform { get; private set; } public string ReleaseConfiguration { get; private set; } - public string MSBuildSolution { get; private set; } - public string XBuildSolution { get; private set; } + public string MSBuildSolution { get; private set; } public bool IsPlatformAnyCPU { get; private set; } public bool IsPlatformX86 { get; private set; } public bool IsPlatformX64 { get; private set; } @@ -54,7 +53,6 @@ public class Parameters ReleasePlatform = "Any CPU"; ReleaseConfiguration = "Release"; MSBuildSolution = "./Avalonia.sln"; - XBuildSolution = "./Avalonia.XBuild.sln"; // PARAMETERS IsPlatformAnyCPU = StringComparer.OrdinalIgnoreCase.Equals(Platform, "Any CPU"); @@ -72,7 +70,6 @@ public class Parameters IsReleasable = StringComparer.OrdinalIgnoreCase.Equals(ReleasePlatform, Platform) && StringComparer.OrdinalIgnoreCase.Equals(ReleaseConfiguration, Configuration); IsMyGetRelease = !IsTagged && IsReleasable; - // VERSION Version = context.Argument("force-nuget-version", context.ParseAssemblyInfo(AssemblyInfoPath).AssemblyVersion); @@ -104,12 +101,9 @@ public class Parameters NugetRoot = ArtifactsDir.Combine("nuget"); ZipRoot = ArtifactsDir.Combine("zip"); BinRoot = ArtifactsDir.Combine("bin"); - BuildDirs = context.GetDirectories("**/bin") + context.GetDirectories("**/obj"); - DirSuffix = Configuration; DirSuffixIOS = "iPhone" + "/" + Configuration; - FileZipSuffix = Version + ".zip"; ZipCoreArtifacts = ZipRoot.CombineWithFilePath("Avalonia-" + FileZipSuffix); ZipNuGetArtifacts = ZipRoot.CombineWithFilePath("Avalonia-NuGet-" + FileZipSuffix); From 3cd1e567ed0865b0610ef8597f6bbd206bdcb3dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 12:53:05 +0200 Subject: [PATCH 18/23] Added IsPlatformNetCoreOnly parameter --- build.cake | 14 +++++++------- parameters.cake | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/build.cake b/build.cake index 092334b9f8..3d2dfe6e51 100644 --- a/build.cake +++ b/build.cake @@ -111,7 +111,7 @@ Task("Clean-Impl") Task("Restore-NuGet-Packages-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) - .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") + .WithCriteria((context, data) => !data.Parameters.IsPlatformNetCoreOnly) .Does(data => { var maxRetryCount = 5; @@ -152,7 +152,7 @@ void DotNetCoreBuild(Parameters parameters) Task("Build-Impl") .Does(data => { - if(data.Parameters.IsRunningOnWindows && data.Parameters.Platform != "NetCoreOnly") + if(data.Parameters.IsRunningOnWindows && !data.Parameters.IsPlatformNetCoreOnly) { MSBuild(data.Parameters.MSBuildSolution, settings => { settings.SetConfiguration(data.Parameters.Configuration); @@ -207,7 +207,7 @@ Task("Run-Unit-Tests-Impl") RunCoreTest("./tests/Avalonia.Styling.UnitTests", data.Parameters, false); RunCoreTest("./tests/Avalonia.Visuals.UnitTests", data.Parameters, false); RunCoreTest("./tests/Avalonia.Skia.UnitTests", data.Parameters, false); - if (data.Parameters.IsRunningOnWindows && data.Parameters.Platform != "NetCoreOnly") + if (data.Parameters.IsRunningOnWindows && !data.Parameters.IsPlatformNetCoreOnly) { RunCoreTest("./tests/Avalonia.Direct2D1.UnitTests", data.Parameters, true); } @@ -222,7 +222,7 @@ Task("Run-Designer-Tests-Impl") Task("Run-Render-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) - .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") + .WithCriteria((context, data) => !data.Parameters.IsPlatformNetCoreOnly) .Does(data => { RunCoreTest("./tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj", data.Parameters, true); @@ -231,7 +231,7 @@ Task("Run-Render-Tests-Impl") Task("Run-Leak-Tests-Impl") .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) - .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") + .WithCriteria((context, data) => !data.Parameters.IsPlatformNetCoreOnly) .Does(() => { var dotMemoryUnit = Context.Tools.Resolve("dotMemoryUnit.exe"); @@ -264,7 +264,7 @@ Task("Zip-Files-Impl") Zip(data.Parameters.NugetRoot, data.Parameters.ZipNuGetArtifacts); - if (data.Parameters.Platform != "NetCoreOnly") { + if (!data.Parameters.IsPlatformNetCoreOnly) { Zip(data.Parameters.ZipSourceControlCatalogDesktopDirs, data.Parameters.ZipTargetControlCatalogDesktopDirs, GetFiles(data.Parameters.ZipSourceControlCatalogDesktopDirs.FullPath + "/*.dll") + @@ -351,7 +351,7 @@ Task("Publish-NuGet-Impl") Task("Inspect-Impl") .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) - .WithCriteria((context, data) => data.Parameters.Platform != "NetCoreOnly") + .WithCriteria((context, data) => !data.Parameters.IsPlatformNetCoreOnly) .Does(() => { var badIssues = new []{"PossibleNullReferenceException"}; diff --git a/parameters.cake b/parameters.cake index 328eed81cf..e595b8159f 100644 --- a/parameters.cake +++ b/parameters.cake @@ -12,6 +12,7 @@ public class Parameters public bool IsPlatformAnyCPU { get; private set; } public bool IsPlatformX86 { get; private set; } public bool IsPlatformX64 { get; private set; } + public bool IsPlatformNetCoreOnly { get; private set; } public bool IsLocalBuild { get; private set; } public bool IsRunningOnUnix { get; private set; } public bool IsRunningOnWindows { get; private set; } @@ -58,6 +59,7 @@ public class Parameters IsPlatformAnyCPU = StringComparer.OrdinalIgnoreCase.Equals(Platform, "Any CPU"); IsPlatformX86 = StringComparer.OrdinalIgnoreCase.Equals(Platform, "x86"); IsPlatformX64 = StringComparer.OrdinalIgnoreCase.Equals(Platform, "x64"); + IsPlatformNetCoreOnly = StringComparer.OrdinalIgnoreCase.Equals(Platform, "NetCoreOnly"); IsLocalBuild = buildSystem.IsLocalBuild; IsRunningOnUnix = context.IsRunningOnUnix(); IsRunningOnWindows = context.IsRunningOnWindows(); From 608194cb1418c6519533d1d3fc878f050af373ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 12:53:40 +0200 Subject: [PATCH 19/23] Changed comments --- build.cake | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/build.cake b/build.cake index 3d2dfe6e51..6585da1e72 100644 --- a/build.cake +++ b/build.cake @@ -96,7 +96,7 @@ Teardown((context, buildContext) => }); /////////////////////////////////////////////////////////////////////////////// -// TASKS IMPLEMENTATIONS +// TASKS /////////////////////////////////////////////////////////////////////////////// Task("Clean-Impl") @@ -387,7 +387,7 @@ Task("Inspect-Impl") }); /////////////////////////////////////////////////////////////////////////////// -// TASKS DEPENDENCY TREE +// TARGETS /////////////////////////////////////////////////////////////////////////////// Task("Run-Tests") @@ -417,10 +417,6 @@ Task("Publish-NuGet") .IsDependentOn("Create-NuGet-Packages") .IsDependentOn("Publish-NuGet-Impl"); -/////////////////////////////////////////////////////////////////////////////// -// TARGETS -/////////////////////////////////////////////////////////////////////////////// - Task("Package") .IsDependentOn("Create-NuGet-Packages"); From efd119e6d4f55488dd80a87cce95f1ba60bc3b8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 12:56:11 +0200 Subject: [PATCH 20/23] Unified tasks with criteria --- build.cake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build.cake b/build.cake index 6585da1e72..6b03f9fe52 100644 --- a/build.cake +++ b/build.cake @@ -221,7 +221,8 @@ Task("Run-Designer-Tests-Impl") }); Task("Run-Render-Tests-Impl") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .WithCriteria((context, data) => !data.Parameters.SkipTests) + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .WithCriteria((context, data) => !data.Parameters.IsPlatformNetCoreOnly) .Does(data => { @@ -230,7 +231,8 @@ Task("Run-Render-Tests-Impl") }); Task("Run-Leak-Tests-Impl") - .WithCriteria((context, data) => !data.Parameters.SkipTests && data.Parameters.IsRunningOnWindows) + .WithCriteria((context, data) => !data.Parameters.SkipTests) + .WithCriteria((context, data) => data.Parameters.IsRunningOnWindows) .WithCriteria((context, data) => !data.Parameters.IsPlatformNetCoreOnly) .Does(() => { From fcf54c4939cf39a94105d2b7437db98905c48b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 13:07:48 +0200 Subject: [PATCH 21/23] Even more simplification of tasks graph --- build.cake | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/build.cake b/build.cake index 6b03f9fe52..28dc503e35 100644 --- a/build.cake +++ b/build.cake @@ -401,31 +401,17 @@ Task("Run-Tests") .IsDependentOn("Run-Designer-Tests-Impl") .IsDependentOn("Run-Leak-Tests-Impl"); -Task("Create-NuGet-Packages") +Task("Package") .IsDependentOn("Run-Tests") .IsDependentOn("Inspect-Impl") - .IsDependentOn("Create-NuGet-Packages-Impl"); - -Task("Zip-Files") - .IsDependentOn("Create-NuGet-Packages") - .IsDependentOn("Copy-Files-Impl") - .IsDependentOn("Zip-Files-Impl"); - -Task("Publish-MyGet") - .IsDependentOn("Create-NuGet-Packages") - .IsDependentOn("Publish-MyGet-Impl"); - -Task("Publish-NuGet") - .IsDependentOn("Create-NuGet-Packages") - .IsDependentOn("Publish-NuGet-Impl"); - -Task("Package") - .IsDependentOn("Create-NuGet-Packages"); + .IsDependentOn("Create-NuGet-Packages-Impl") Task("AppVeyor") - .IsDependentOn("Publish-MyGet") - .IsDependentOn("Publish-NuGet") - .IsDependentOn("Zip-Files"); + .IsDependentOn("Package") + .IsDependentOn("Publish-MyGet-Impl") + .IsDependentOn("Publish-NuGet-Impl") + .IsDependentOn("Copy-Files-Impl") + .IsDependentOn("Zip-Files-Impl"); Task("Travis") .IsDependentOn("Run-Tests"); From 98642a97b717b3afa62630dcbdc7a29629126b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 13:09:57 +0200 Subject: [PATCH 22/23] Changed task dependency order for AppVeyor task --- build.cake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.cake b/build.cake index 28dc503e35..deac33de09 100644 --- a/build.cake +++ b/build.cake @@ -408,10 +408,10 @@ Task("Package") Task("AppVeyor") .IsDependentOn("Package") - .IsDependentOn("Publish-MyGet-Impl") - .IsDependentOn("Publish-NuGet-Impl") .IsDependentOn("Copy-Files-Impl") - .IsDependentOn("Zip-Files-Impl"); + .IsDependentOn("Zip-Files-Impl") + .IsDependentOn("Publish-MyGet-Impl") + .IsDependentOn("Publish-NuGet-Impl"); Task("Travis") .IsDependentOn("Run-Tests"); From ff6676a2b0e1e027a990bfd6295c44c45184464c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 30 Jun 2018 13:11:37 +0200 Subject: [PATCH 23/23] Fixed error --- build.cake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.cake b/build.cake index deac33de09..78c166a3bc 100644 --- a/build.cake +++ b/build.cake @@ -404,7 +404,7 @@ Task("Run-Tests") Task("Package") .IsDependentOn("Run-Tests") .IsDependentOn("Inspect-Impl") - .IsDependentOn("Create-NuGet-Packages-Impl") + .IsDependentOn("Create-NuGet-Packages-Impl"); Task("AppVeyor") .IsDependentOn("Package")