Skip to content

Commit 1da1ea2

Browse files
Merge branch 'hotfix/0.28.1' into main
2 parents de28ecc + 26e9214 commit 1da1ea2

File tree

6 files changed

+47
-29
lines changed

6 files changed

+47
-29
lines changed

ReleaseNotes.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
### New in 0.28.1 (Released 2018/06/18)
2+
3+
* 2176 Skipped tasks show up multiple times in report
4+
* 2190 Suppress NuGet dependency warnings related to Cake.Core
5+
16
### New in 0.28.0 (Released 2018/05/31)
27

38
* 2008 Allow defining a typed context to be used throughout a Cake script.

src/Cake.Core.Tests/Unit/CakeEngineTests.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,33 @@ public async Task Should_Skip_Tasks_Where_Boolean_Criterias_Are_Not_Fulfilled()
180180
Assert.Contains(fixture.Log.Entries, e => e.Message == "Skipping task: B");
181181
}
182182

183+
[Fact]
184+
public async Task Should_Only_Write_Single_Skipped_Entry_To_Report_If_Multiple_Boolean_Criterias_Evaluated_To_False()
185+
{
186+
// Given
187+
var fixture = new CakeEngineFixture();
188+
var engine = fixture.CreateEngine();
189+
engine.RegisterTask("Default").IsDependentOn("A");
190+
engine.RegisterTask("A")
191+
.WithCriteria(() => false)
192+
.WithCriteria(() => false, "Foo")
193+
.WithCriteria(context => false)
194+
.WithCriteria(context => false, "Bar")
195+
.WithCriteria<string>((context, data) => false)
196+
.WithCriteria<string>((context, data) => false, "Baz");
197+
198+
// When
199+
var result = await engine.RunTargetAsync(fixture.Context, fixture.ExecutionStrategy, "Default");
200+
var entries = result.ToList();
201+
202+
// Then
203+
Assert.Equal(2, entries.Count);
204+
Assert.Equal("A", entries[0].TaskName);
205+
Assert.Equal(CakeTaskExecutionStatus.Skipped, entries[0].ExecutionStatus);
206+
Assert.Equal("Default", entries[1].TaskName);
207+
Assert.Equal(CakeTaskExecutionStatus.Delegated, entries[1].ExecutionStatus);
208+
}
209+
183210
[Fact]
184211
public async Task Should_Skip_Tasks_Where_Boolean_Criterias_Are_Not_Fulfilled_And_Write_Reason_To_Log()
185212
{

src/Cake.Core/CakeEngine.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ public async Task<CakeReport> RunTargetAsync(ICakeContext context, IExecutionStr
241241
{
242242
SkipTask(context, strategy, task, report, criteria);
243243
skipped = true;
244+
break;
244245
}
245246
}
246247

src/Cake.NuGet/Install/NuGetFolderProject.cs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,10 @@
44

55
using System;
66
using System.Collections.Generic;
7-
using System.Linq;
87
using System.Threading;
98
using System.Threading.Tasks;
10-
using Cake.Core.Configuration;
119
using Cake.Core.Diagnostics;
1210
using Cake.Core.IO;
13-
using Cake.NuGet.Install.Extensions;
1411
using NuGet.Frameworks;
1512
using NuGet.Packaging;
1613
using NuGet.Packaging.Core;
@@ -26,7 +23,6 @@ internal sealed class NugetFolderProject : FolderNuGetProject
2623
private readonly ISet<PackageIdentity> _installedPackages;
2724
private readonly IFileSystem _fileSystem;
2825
private readonly INuGetContentResolver _contentResolver;
29-
private readonly ICakeConfiguration _config;
3026
private readonly ICakeLog _log;
3127
private readonly PackagePathResolver _pathResolver;
3228

@@ -41,18 +37,17 @@ internal sealed class NugetFolderProject : FolderNuGetProject
4137
public NugetFolderProject(
4238
IFileSystem fileSystem,
4339
INuGetContentResolver contentResolver,
44-
ICakeConfiguration config,
4540
ICakeLog log,
4641
PackagePathResolver pathResolver,
4742
string root,
4843
NuGetFramework targetFramework) : base(root, pathResolver)
4944
{
5045
_fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
5146
_contentResolver = contentResolver ?? throw new ArgumentNullException(nameof(contentResolver));
52-
_config = config ?? throw new ArgumentNullException(nameof(config));
5347
_log = log ?? throw new ArgumentNullException(nameof(log));
5448
_pathResolver = pathResolver ?? throw new ArgumentNullException(nameof(pathResolver));
5549
_installedPackages = new HashSet<PackageIdentity>();
50+
5651
TargetFramework = targetFramework ?? throw new ArgumentNullException(nameof(targetFramework));
5752
InternalMetadata[NuGetProjectMetadataKeys.TargetFramework] = TargetFramework;
5853
}
@@ -67,6 +62,7 @@ public override Task<bool> InstallPackageAsync(PackageIdentity packageIdentity,
6762
_log.Debug("Package {0} has already been installed.", packageIdentity.ToString());
6863
return Task.FromResult(true);
6964
}
65+
7066
return base.InstallPackageAsync(packageIdentity, downloadResourceResult, nuGetProjectContext, token);
7167
}
7268

@@ -78,22 +74,20 @@ public IReadOnlyCollection<IFile> GetFiles(DirectoryPath directoryPath, PackageR
7874
{
7975
if (_blackListedPackages.Contains(installedPackage.Id))
8076
{
81-
_log.Warning("Package {0} depends on package {1}. Will not load this dependency...",
82-
packageReference.Package, installedPackage.ToString());
77+
const string format = "Package {0} depends on package {1}. This dependency won't be loaded.";
78+
_log.Debug(format, packageReference.Package, installedPackage.ToString());
8379
continue;
8480
}
8581

8682
var installPath = new DirectoryPath(_pathResolver.GetInstallPath(installedPackage));
87-
8883
if (!_fileSystem.Exist(installPath))
8984
{
9085
_log.Warning("Package {0} is not installed.", installedPackage.Id);
9186
continue;
9287
}
9388

94-
// If the installed package is not the target package,
95-
// create a new PackageReference which is passed to the content resolver.
96-
// This makes logging make more sense.
89+
// If the installed package is not the target package, create a new PackageReference
90+
// which is passed to the content resolver. This makes logging make more sense.
9791
var installedPackageReference = installedPackage.Id.Equals(packageReference.Package, StringComparison.OrdinalIgnoreCase) ?
9892
packageReference :
9993
new PackageReference($"nuget:?package={installedPackage.Id}");

src/Cake.NuGet/Install/NuGetPackageInstaller.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using System.Collections.Generic;
77
using System.Linq;
88
using System.Threading;
9-
using System.Threading.Tasks;
109
using Cake.Core;
1110
using Cake.Core.Configuration;
1211
using Cake.Core.Diagnostics;
@@ -69,18 +68,12 @@ public NuGetPackageInstaller(
6968
_nugetLogger = new NuGetLogger(_log);
7069

7170
var nugetConfig = GetNuGetConfigPath(_environment, _config);
72-
7371
var nugetConfigDirectoryPath = nugetConfig.Item1;
7472
var nugetConfigFilePath = nugetConfig.Item2;
7573

76-
if (nugetConfigFilePath != null)
77-
{
78-
_log.Debug($"Found NuGet.config at: {nugetConfigFilePath}");
79-
}
80-
else
81-
{
82-
_log.Debug("NuGet.config not found.");
83-
}
74+
_log.Debug(nugetConfigFilePath != null
75+
? $"Found NuGet.config at: {nugetConfigFilePath}"
76+
: "NuGet.config not found.");
8477

8578
_nugetSettings = Settings.LoadDefaultSettings(
8679
nugetConfigDirectoryPath.FullPath,
@@ -114,7 +107,7 @@ public IReadOnlyCollection<IFile> Install(PackageReference package, PackageType
114107
var targetFramework = type == PackageType.Addin ? _currentFramework : NuGetFramework.AnyFramework;
115108
var sourceRepositoryProvider = new NuGetSourceRepositoryProvider(_nugetSettings, _config, package);
116109
var pathResolver = new PackagePathResolver(packageRoot);
117-
var project = new NugetFolderProject(_fileSystem, _contentResolver, _config, _log, pathResolver, packageRoot, targetFramework);
110+
var project = new NugetFolderProject(_fileSystem, _contentResolver, _log, pathResolver, packageRoot, targetFramework);
118111
var packageManager = new NuGetPackageManager(sourceRepositoryProvider, _nugetSettings, project.Root)
119112
{
120113
PackagesFolderNuGetProject = project
@@ -208,9 +201,7 @@ private static NuGetVersion GetNuGetVersion(PackageReference package, NuGetPacka
208201

209202
// Find the highest possible version
210203
version = version ?? foundVersion;
211-
if (foundVersion != null &&
212-
version != null &&
213-
foundVersion > version)
204+
if (foundVersion != null && foundVersion > version)
214205
{
215206
version = foundVersion;
216207
}

src/SolutionInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
using System.Reflection;
1111

1212
[assembly: AssemblyProduct("Cake")]
13-
[assembly: AssemblyVersion("0.28.0.0")]
14-
[assembly: AssemblyFileVersion("0.28.0.0")]
15-
[assembly: AssemblyInformationalVersion("0.28.0-beta.1+0.Branch.release/0.28.0.Sha.23688ed84195572aba78f4613c6667bcff3ee233")]
13+
[assembly: AssemblyVersion("0.28.1.0")]
14+
[assembly: AssemblyFileVersion("0.28.1.0")]
15+
[assembly: AssemblyInformationalVersion("0.28.1-beta.1+4.Branch.hotfix/0.28.1.Sha.93fb5dc4f85859e1c01ab906019eb337df769cb3")]
1616
[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and Contributors")]

0 commit comments

Comments
 (0)