@@ -24,7 +24,7 @@ namespace build
24
24
{
25
25
public static class BuildDefinition
26
26
{
27
- public static GitVersion ResolveVersion ( Options options , PreviousReleases releases )
27
+ public static async Task < GitVersion > ResolveVersion ( Options options , PreviousReleases releases )
28
28
{
29
29
GitVersion version ;
30
30
if ( ForcedVersion != null )
@@ -36,9 +36,10 @@ public static GitVersion ResolveVersion(Options options, PreviousReleases releas
36
36
string versionJson ;
37
37
try
38
38
{
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 ;
40
41
}
41
- catch ( NonZeroExitCodeException )
42
+ catch ( ExitCodeException )
42
43
{
43
44
Run ( "dotnet" , "gitversion /nofetch /diag" , BasePath ) ;
44
45
throw ;
@@ -90,7 +91,7 @@ public static GitVersion ResolveVersion(Options options, PreviousReleases releas
90
91
return version ;
91
92
}
92
93
93
- public static void SetBuildVersion ( Options options , GitVersion version )
94
+ public static Task SetBuildVersion ( Options options , GitVersion version )
94
95
{
95
96
switch ( options . Host )
96
97
{
@@ -99,9 +100,11 @@ public static void SetBuildVersion(Options options, GitVersion version)
99
100
Run ( "appveyor" , $ "UpdateBuild -Version { version . NuGetVersion } .{ buildNumber } ") ;
100
101
break ;
101
102
}
103
+
104
+ return Task . CompletedTask ;
102
105
}
103
106
104
- public static MetadataSet SetMetadata ( GitVersion version )
107
+ public static Task < MetadataSet > SetMetadata ( GitVersion version )
105
108
{
106
109
var templatePath = Path . Combine ( BasePath , "YamlDotNet" , "Properties" , "AssemblyInfo.template" ) ;
107
110
WriteVerbose ( $ "Using template { templatePath } ") ;
@@ -116,26 +119,26 @@ public static MetadataSet SetMetadata(GitVersion version)
116
119
WriteVerbose ( $ "Writing metadata to { asssemblyInfoPath } ") ;
117
120
File . WriteAllText ( asssemblyInfoPath , assemblyInfo ) ;
118
121
119
- return default ;
122
+ return Task . FromResult ( new MetadataSet ( ) ) ;
120
123
}
121
124
122
- public static SuccessfulBuild Build ( Options options , MetadataSet _ )
125
+ public static Task < SuccessfulBuild > Build ( Options options , MetadataSet _ )
123
126
{
124
127
var verbosity = options . Verbose ? "detailed" : "minimal" ;
125
128
Run ( "dotnet" , $ "build YamlDotNet.sln --configuration Release --verbosity { verbosity } ", BasePath ) ;
126
129
127
- return default ;
130
+ return Task . FromResult ( new SuccessfulBuild ( ) ) ;
128
131
}
129
132
130
- public static SuccessfulUnitTests UnitTest ( Options options , SuccessfulBuild _ )
133
+ public static Task < SuccessfulUnitTests > UnitTest ( Options options , SuccessfulBuild _ )
131
134
{
132
135
var verbosity = options . Verbose ? "detailed" : "minimal" ;
133
136
Run ( "dotnet" , $ "test YamlDotNet.Test.csproj --no-build --configuration Release --verbosity { verbosity } ", Path . Combine ( BasePath , "YamlDotNet.Test" ) ) ;
134
137
135
- return default ;
138
+ return Task . FromResult ( new SuccessfulUnitTests ( ) ) ;
136
139
}
137
140
138
- public static List < NuGetPackage > Pack ( Options options , GitVersion version , SuccessfulUnitTests _ )
141
+ public static Task < List < NuGetPackage > > Pack ( Options options , GitVersion version , SuccessfulUnitTests _ )
139
142
{
140
143
var result = new List < NuGetPackage > ( ) ;
141
144
var verbosity = options . Verbose ? "detailed" : "minimal" ;
@@ -152,10 +155,10 @@ public static List<NuGetPackage> Pack(Options options, GitVersion version, Succe
152
155
result . Add ( new NuGetPackage ( packagePath , "YamlDotNet.Analyzers.StaticGenerator" ) ) ;
153
156
}
154
157
155
- return result ;
158
+ return Task . FromResult ( result ) ;
156
159
}
157
160
158
- public static void Publish ( Options options , GitVersion version , List < NuGetPackage > packages )
161
+ public static Task Publish ( Options options , GitVersion version , List < NuGetPackage > packages )
159
162
{
160
163
var apiKey = Environment . GetEnvironmentVariable ( "NUGET_API_KEY" ) ;
161
164
if ( string . IsNullOrEmpty ( apiKey ) )
@@ -187,6 +190,8 @@ public static void Publish(Options options, GitVersion version, List<NuGetPackag
187
190
}
188
191
}
189
192
}
193
+
194
+ return Task . CompletedTask ;
190
195
}
191
196
192
197
public static async Task TweetRelease ( GitVersion version )
@@ -209,7 +214,7 @@ public static async Task TweetRelease(GitVersion version)
209
214
WriteVerbose ( result ) ;
210
215
}
211
216
212
- public static ScaffoldedRelease ScaffoldReleaseNotes ( GitVersion version , PreviousReleases releases )
217
+ public static async Task < ScaffoldedRelease > ScaffoldReleaseNotes ( GitVersion version , PreviousReleases releases )
213
218
{
214
219
if ( version . IsPreRelease )
215
220
{
@@ -220,7 +225,7 @@ public static ScaffoldedRelease ScaffoldReleaseNotes(GitVersion version, Previou
220
225
221
226
// Get the git log to scaffold the release notes
222
227
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") )
224
229
. Select ( l =>
225
230
{
226
231
var match = Regex . Match ( l , "^commit (?<hash>[a-f0-9]+)$" ) ;
@@ -304,10 +309,10 @@ public static async Task LinkPullRequestsToReleases(GitVersion version)
304
309
}
305
310
}
306
311
307
- public static PreviousReleases DiscoverPreviousReleases ( )
312
+ public static async Task < PreviousReleases > DiscoverPreviousReleases ( )
308
313
{
309
314
// 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*" ) )
311
316
. Select ( tag => Regex . Match ( tag . TrimEnd ( '\r ' ) , @"^v(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$" ) )
312
317
. Where ( m => m . Success )
313
318
. Select ( match => new Version (
@@ -325,7 +330,7 @@ public static PreviousReleases DiscoverPreviousReleases()
325
330
return previousReleases ;
326
331
}
327
332
328
- public static void Document ( Options options )
333
+ public static Task Document ( Options options )
329
334
{
330
335
var samplesProjectDir = Path . Combine ( BasePath , "YamlDotNet.Samples" ) ;
331
336
var samplesOutputDir = Path . Combine ( BasePath , ".." , "YamlDotNet.wiki" ) ;
@@ -338,16 +343,16 @@ public static void Document(Options options)
338
343
const string ns = "http://microsoft.com/schemas/VisualStudio/TeamTest/2010" ;
339
344
340
345
var testDefinitions = report . Root
341
- . Element ( XName . Get ( "TestDefinitions" , ns ) )
346
+ . Element ( XName . Get ( "TestDefinitions" , ns ) ) !
342
347
. Elements ( XName . Get ( "UnitTest" , ns ) )
343
348
. Select ( e =>
344
349
{
345
350
var testMethod = e . Element ( XName . Get ( "TestMethod" , ns ) ) ;
346
351
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 ;
349
354
350
- var testMethodAssembly = Assembly . LoadFrom ( testMethod . Attribute ( "codeBase" ) . Value ) ;
355
+ var testMethodAssembly = Assembly . LoadFrom ( testMethod . Attribute ( "codeBase" ) ! . Value ) ;
351
356
352
357
var sampleClass = testMethodAssembly
353
358
. GetType ( sampleClassName , true ) ! ;
@@ -364,20 +369,20 @@ public static void Document(Options options)
364
369
365
370
return new
366
371
{
367
- Id = e . Attribute ( "id" ) . Value ,
368
- Name = e . Attribute ( "name" ) . Value ,
372
+ Id = e . Attribute ( "id" ) ! . Value ,
373
+ Name = e . Attribute ( "name" ) ! . Value ,
369
374
Description = description ,
370
375
Code = File . ReadAllText ( Path . Combine ( samplesProjectDir , $ "{ sampleClass . Name } .cs") ) ,
371
376
FileName = $ "Samples.{ sampleClass . Name } .md",
372
377
} ;
373
378
} ) ;
374
379
375
380
var testResults = report . Root
376
- . Element ( XName . Get ( "Results" , ns ) )
381
+ . Element ( XName . Get ( "Results" , ns ) ) !
377
382
. Elements ( XName . Get ( "UnitTestResult" , ns ) )
378
383
. Select ( e => new
379
384
{
380
- TestId = e . Attribute ( "testId" ) . Value ,
385
+ TestId = e . Attribute ( "testId" ) ! . Value ,
381
386
Output = e
382
387
. Element ( XName . Get ( "Output" , ns ) )
383
388
? . Element ( XName . Get ( "StdOut" , ns ) )
@@ -435,6 +440,7 @@ public static void Document(Options options)
435
440
436
441
* [Building Custom Formatters for .Net Core (Yaml Formatters)](http://www.fiyazhasan.me/building-custom-formatters-for-net-core-yaml-formatters/) by @FiyazBinHasan
437
442
" ) ;
443
+ return Task . CompletedTask ;
438
444
}
439
445
440
446
private static string GitHubRepository
0 commit comments