Skip to content

Commit 613627e

Browse files
committed
Updated build project to net80 and new nugets
1 parent ab695ac commit 613627e

File tree

3 files changed

+54
-36
lines changed

3 files changed

+54
-36
lines changed

tools/build/BuildDefinition.cs

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace build
2424
{
2525
public static class BuildDefinition
2626
{
27-
public static GitVersion ResolveVersion(Options options, PreviousReleases releases)
27+
public static async Task<GitVersion> ResolveVersion(Options options, PreviousReleases releases)
2828
{
2929
GitVersion version;
3030
if (ForcedVersion != null)
@@ -36,9 +36,10 @@ public static GitVersion ResolveVersion(Options options, PreviousReleases releas
3636
string versionJson;
3737
try
3838
{
39-
versionJson = Read("dotnet", $"gitversion /nofetch{(options.Verbose ? " /diag" : "")}", BasePath);
39+
var result = await ReadAsync("dotnet", $"gitversion /nofetch{(options.Verbose ? " /diag" : "")}", BasePath);
40+
versionJson = result.StandardOutput;
4041
}
41-
catch (NonZeroExitCodeException)
42+
catch (ExitCodeException)
4243
{
4344
Run("dotnet", "gitversion /nofetch /diag", BasePath);
4445
throw;
@@ -90,7 +91,7 @@ public static GitVersion ResolveVersion(Options options, PreviousReleases releas
9091
return version;
9192
}
9293

93-
public static void SetBuildVersion(Options options, GitVersion version)
94+
public static Task SetBuildVersion(Options options, GitVersion version)
9495
{
9596
switch (options.Host)
9697
{
@@ -99,9 +100,11 @@ public static void SetBuildVersion(Options options, GitVersion version)
99100
Run("appveyor", $"UpdateBuild -Version {version.NuGetVersion}.{buildNumber}");
100101
break;
101102
}
103+
104+
return Task.CompletedTask;
102105
}
103106

104-
public static MetadataSet SetMetadata(GitVersion version)
107+
public static Task<MetadataSet> SetMetadata(GitVersion version)
105108
{
106109
var templatePath = Path.Combine(BasePath, "YamlDotNet", "Properties", "AssemblyInfo.template");
107110
WriteVerbose($"Using template {templatePath}");
@@ -116,26 +119,26 @@ public static MetadataSet SetMetadata(GitVersion version)
116119
WriteVerbose($"Writing metadata to {asssemblyInfoPath}");
117120
File.WriteAllText(asssemblyInfoPath, assemblyInfo);
118121

119-
return default;
122+
return Task.FromResult(new MetadataSet());
120123
}
121124

122-
public static SuccessfulBuild Build(Options options, MetadataSet _)
125+
public static Task<SuccessfulBuild> Build(Options options, MetadataSet _)
123126
{
124127
var verbosity = options.Verbose ? "detailed" : "minimal";
125128
Run("dotnet", $"build YamlDotNet.sln --configuration Release --verbosity {verbosity}", BasePath);
126129

127-
return default;
130+
return Task.FromResult(new SuccessfulBuild());
128131
}
129132

130-
public static SuccessfulUnitTests UnitTest(Options options, SuccessfulBuild _)
133+
public static Task<SuccessfulUnitTests> UnitTest(Options options, SuccessfulBuild _)
131134
{
132135
var verbosity = options.Verbose ? "detailed" : "minimal";
133136
Run("dotnet", $"test YamlDotNet.Test.csproj --no-build --configuration Release --verbosity {verbosity}", Path.Combine(BasePath, "YamlDotNet.Test"));
134137

135-
return default;
138+
return Task.FromResult(new SuccessfulUnitTests());
136139
}
137140

138-
public static List<NuGetPackage> Pack(Options options, GitVersion version, SuccessfulUnitTests _)
141+
public static Task<List<NuGetPackage>> Pack(Options options, GitVersion version, SuccessfulUnitTests _)
139142
{
140143
var result = new List<NuGetPackage>();
141144
var verbosity = options.Verbose ? "detailed" : "minimal";
@@ -152,10 +155,10 @@ public static List<NuGetPackage> Pack(Options options, GitVersion version, Succe
152155
result.Add(new NuGetPackage(packagePath, "YamlDotNet.Analyzers.StaticGenerator"));
153156
}
154157

155-
return result;
158+
return Task.FromResult(result);
156159
}
157160

158-
public static void Publish(Options options, GitVersion version, List<NuGetPackage> packages)
161+
public static Task Publish(Options options, GitVersion version, List<NuGetPackage> packages)
159162
{
160163
var apiKey = Environment.GetEnvironmentVariable("NUGET_API_KEY");
161164
if (string.IsNullOrEmpty(apiKey))
@@ -187,6 +190,8 @@ public static void Publish(Options options, GitVersion version, List<NuGetPackag
187190
}
188191
}
189192
}
193+
194+
return Task.CompletedTask;
190195
}
191196

192197
public static async Task TweetRelease(GitVersion version)
@@ -209,7 +214,7 @@ public static async Task TweetRelease(GitVersion version)
209214
WriteVerbose(result);
210215
}
211216

212-
public static ScaffoldedRelease ScaffoldReleaseNotes(GitVersion version, PreviousReleases releases)
217+
public static async Task<ScaffoldedRelease> ScaffoldReleaseNotes(GitVersion version, PreviousReleases releases)
213218
{
214219
if (version.IsPreRelease)
215220
{
@@ -220,7 +225,7 @@ public static ScaffoldedRelease ScaffoldReleaseNotes(GitVersion version, Previou
220225

221226
// Get the git log to scaffold the release notes
222227
string? currentHash = null;
223-
var commits = ReadLines("git", $"rev-list v{previousVersion}..HEAD --first-parent --reverse --pretty=tformat:%B")
228+
var commits = (await ReadLines("git", $"rev-list v{previousVersion}..HEAD --first-parent --reverse --pretty=tformat:%B"))
224229
.Select(l =>
225230
{
226231
var match = Regex.Match(l, "^commit (?<hash>[a-f0-9]+)$");
@@ -304,10 +309,10 @@ public static async Task LinkPullRequestsToReleases(GitVersion version)
304309
}
305310
}
306311

307-
public static PreviousReleases DiscoverPreviousReleases()
312+
public static async Task<PreviousReleases> DiscoverPreviousReleases()
308313
{
309314
// Find previous release
310-
var releases = ReadLines("git", "tag --list --merged origin/master --format=\"%(refname:short)\" v*")
315+
var releases = (await ReadLines("git", "tag --list --merged origin/master --format=\"%(refname:short)\" v*"))
311316
.Select(tag => Regex.Match(tag.TrimEnd('\r'), @"^v(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$"))
312317
.Where(m => m.Success)
313318
.Select(match => new Version(
@@ -325,7 +330,7 @@ public static PreviousReleases DiscoverPreviousReleases()
325330
return previousReleases;
326331
}
327332

328-
public static void Document(Options options)
333+
public static Task Document(Options options)
329334
{
330335
var samplesProjectDir = Path.Combine(BasePath, "YamlDotNet.Samples");
331336
var samplesOutputDir = Path.Combine(BasePath, "..", "YamlDotNet.wiki");
@@ -338,16 +343,16 @@ public static void Document(Options options)
338343
const string ns = "http://microsoft.com/schemas/VisualStudio/TeamTest/2010";
339344

340345
var testDefinitions = report.Root
341-
.Element(XName.Get("TestDefinitions", ns))
346+
.Element(XName.Get("TestDefinitions", ns))!
342347
.Elements(XName.Get("UnitTest", ns))
343348
.Select(e =>
344349
{
345350
var testMethod = e.Element(XName.Get("TestMethod", ns));
346351

347-
var sampleClassName = testMethod.Attribute("className").Value;
348-
var sampleMethodName = testMethod.Attribute("name").Value;
352+
var sampleClassName = testMethod.Attribute("className")!.Value;
353+
var sampleMethodName = testMethod.Attribute("name")!.Value;
349354

350-
var testMethodAssembly = Assembly.LoadFrom(testMethod.Attribute("codeBase").Value);
355+
var testMethodAssembly = Assembly.LoadFrom(testMethod.Attribute("codeBase")!.Value);
351356

352357
var sampleClass = testMethodAssembly
353358
.GetType(sampleClassName, true)!;
@@ -364,20 +369,20 @@ public static void Document(Options options)
364369

365370
return new
366371
{
367-
Id = e.Attribute("id").Value,
368-
Name = e.Attribute("name").Value,
372+
Id = e.Attribute("id")!.Value,
373+
Name = e.Attribute("name")!.Value,
369374
Description = description,
370375
Code = File.ReadAllText(Path.Combine(samplesProjectDir, $"{sampleClass.Name}.cs")),
371376
FileName = $"Samples.{sampleClass.Name}.md",
372377
};
373378
});
374379

375380
var testResults = report.Root
376-
.Element(XName.Get("Results", ns))
381+
.Element(XName.Get("Results", ns))!
377382
.Elements(XName.Get("UnitTestResult", ns))
378383
.Select(e => new
379384
{
380-
TestId = e.Attribute("testId").Value,
385+
TestId = e.Attribute("testId")!.Value,
381386
Output = e
382387
.Element(XName.Get("Output", ns))
383388
?.Element(XName.Get("StdOut", ns))
@@ -435,6 +440,7 @@ public static void Document(Options options)
435440
436441
* [Building Custom Formatters for .Net Core (Yaml Formatters)](http://www.fiyazhasan.me/building-custom-formatters-for-net-core-yaml-formatters/) by @FiyazBinHasan
437442
");
443+
return Task.CompletedTask;
438444
}
439445

440446
private static string GitHubRepository

tools/build/Program.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,17 @@ private static void RegisterTargets()
9999
providerTargets.Add(returnType, targetMethod.Name);
100100
}
101101

102-
var action = Expression.Lambda<Action>(actionExpression);
103-
targets.Add((targetMethod.Name, action.Compile(), dependencies));
102+
try
103+
{
104+
var action = Expression.Lambda<Action>(actionExpression);
105+
targets.Add((targetMethod.Name, action.Compile(), dependencies));
106+
}
107+
catch (Exception exception)
108+
{
109+
Console.WriteLine("Error: " + exception);
110+
Console.WriteLine("TargetMethod: " + targetMethod.Name);
111+
throw;
112+
}
104113
}
105114

106115
foreach (var (name, action, dependencies) in targets)
@@ -318,11 +327,14 @@ private static void Write(string text, string color)
318327
Console.WriteLine($"{color}{text}{palette.Reset}");
319328
}
320329

321-
public static IEnumerable<string> ReadLines(string name, string? args = null, string? workingDirectory = null) => SimpleExec.Command
322-
.Read(name, args, workingDirectory)
323-
.Split('\n')
324-
.Select(l => l.TrimEnd('\r'));
325-
330+
public static async Task<IEnumerable<string>> ReadLines(string name, string args, string? workingDirectory = null)
331+
{
332+
var read = await SimpleExec.Command.ReadAsync(name, args, workingDirectory ?? string.Empty);
333+
var result = read.StandardOutput
334+
.Split('\n')
335+
.Select(l => l.TrimEnd('\r'));
336+
return result;
337+
}
326338
public static string UnIndent(string text)
327339
{
328340
var lines = text

tools/build/build.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>netcoreapp3.1</TargetFramework>
5+
<TargetFramework>net80</TargetFramework>
66
<Platforms>AnyCPU</Platforms>
77
<Nullable>Enable</Nullable>
88
</PropertyGroup>
99

1010
<ItemGroup>
1111
<PackageReference Include="Bullseye" Version="4.1.1" />
12-
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
13-
<PackageReference Include="SimpleExec" Version="6.4.0" />
12+
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="6.0.0" />
13+
<PackageReference Include="SimpleExec" Version="12.0.0" />
1414
</ItemGroup>
1515

1616
</Project>

0 commit comments

Comments
 (0)