11using System ;
22using System . Collections . Generic ;
33using System . IO ;
4+ using System . Linq ;
45using GitVersion ;
56using GitVersion . Extensions ;
67using GitVersion . Extensions . VersionAssemblyInfoResources ;
@@ -47,8 +48,8 @@ public void ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo(strin
4748 var fullPath = Path . Combine ( workingDir , assemblyInfoFile ) ;
4849 var variables = variableProvider . GetVariablesFor ( SemanticVersion . Parse ( "1.0.0" , "v" ) , new TestEffectiveConfiguration ( ) , false ) ;
4950
50- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fileSystem , log , true ) ;
51- assemblyInfoFileUpdater . Update ( ) ;
51+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fileSystem ) ;
52+ assemblyInfoFileUpdater . Update ( variables , true , workingDir , assemblyInfoFile ) ;
5253
5354 fileSystem . ReadAllText ( fullPath ) . ShouldMatchApproved ( c => c . SubFolder ( Path . Combine ( "Approved" , fileExtension ) ) ) ;
5455 }
@@ -65,8 +66,8 @@ public void ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo
6566 var fullPath = Path . Combine ( workingDir , assemblyInfoFile ) ;
6667 var variables = variableProvider . GetVariablesFor ( SemanticVersion . Parse ( "1.0.0" , "v" ) , new TestEffectiveConfiguration ( ) , false ) ;
6768
68- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fileSystem , log , true ) ;
69- assemblyInfoFileUpdater . Update ( ) ;
69+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fileSystem ) ;
70+ assemblyInfoFileUpdater . Update ( variables , true , workingDir , assemblyInfoFile ) ;
7071
7172 fileSystem . ReadAllText ( fullPath ) . ShouldMatchApproved ( c => c . SubFolder ( Path . Combine ( "Approved" , fileExtension ) ) ) ;
7273 }
@@ -86,8 +87,8 @@ public void ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInf
8687 } ;
8788 var variables = variableProvider . GetVariablesFor ( SemanticVersion . Parse ( "1.0.0" , "v" ) , new TestEffectiveConfiguration ( ) , false ) ;
8889
89- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFiles , workingDir , variables , fileSystem , log , true ) ;
90- assemblyInfoFileUpdater . Update ( ) ;
90+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fileSystem ) ;
91+ assemblyInfoFileUpdater . Update ( variables , true , workingDir , assemblyInfoFiles . ToArray ( ) ) ;
9192
9293 foreach ( var item in assemblyInfoFiles )
9394 {
@@ -106,8 +107,8 @@ public void ShouldNotCreateAssemblyInfoFileWhenNotExistsAndNotEnsureAssemblyInfo
106107 var fullPath = Path . Combine ( workingDir , assemblyInfoFile ) ;
107108 var variables = variableProvider . GetVariablesFor ( SemanticVersion . Parse ( "1.0.0" , "v" ) , new TestEffectiveConfiguration ( ) , false ) ;
108109
109- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fileSystem , log , false ) ;
110- assemblyInfoFileUpdater . Update ( ) ;
110+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fileSystem ) ;
111+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
111112
112113 fileSystem . Exists ( fullPath ) . ShouldBeFalse ( ) ;
113114 }
@@ -121,8 +122,8 @@ public void ShouldNotCreateAssemblyInfoFileForUnknownSourceCodeAndEnsureAssembly
121122 var fullPath = Path . Combine ( workingDir , assemblyInfoFile ) ;
122123 var variables = variableProvider . GetVariablesFor ( SemanticVersion . Parse ( "1.0.0" , "v" ) , new TestEffectiveConfiguration ( ) , false ) ;
123124
124- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fileSystem , log , true ) ;
125- assemblyInfoFileUpdater . Update ( ) ;
125+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fileSystem ) ;
126+ assemblyInfoFileUpdater . Update ( variables , true , workingDir , assemblyInfoFile ) ;
126127
127128 fileSystem . Received ( 0 ) . WriteAllText ( fullPath , Arg . Any < string > ( ) ) ;
128129 }
@@ -135,8 +136,8 @@ public void ShouldStartSearchFromWorkingDirectory()
135136 var assemblyInfoFiles = new HashSet < string > ( ) ;
136137 var variables = variableProvider . GetVariablesFor ( SemanticVersion . Parse ( "1.0.0" , "v" ) , new TestEffectiveConfiguration ( ) , false ) ;
137138
138- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFiles , workingDir , variables , fileSystem , log , false ) ;
139- assemblyInfoFileUpdater . Update ( ) ;
139+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fileSystem ) ;
140+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFiles . ToArray ( ) ) ;
140141
141142 fileSystem . Received ( ) . DirectoryGetFiles ( Arg . Is ( workingDir ) , Arg . Any < string > ( ) , Arg . Any < SearchOption > ( ) ) ;
142143 }
@@ -152,8 +153,8 @@ public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFi
152153
153154 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
154155 {
155- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
156- assemblyInfoFileUpdater . Update ( ) ;
156+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
157+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
157158
158159 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
159160 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -175,8 +176,8 @@ public void ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone(string fileEx
175176
176177 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . None , verify : ( fs , variables ) =>
177178 {
178- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
179- assemblyInfoFileUpdater . Update ( ) ;
179+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
180+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
180181
181182 assemblyFileContent = fs . ReadAllText ( fileName ) ;
182183 assemblyFileContent . ShouldMatchApproved ( c => c . SubFolder ( Path . Combine ( "Approved" , fileExtension ) ) ) ;
@@ -194,8 +195,8 @@ public void ShouldReplaceAssemblyVersionInRelativePath(string fileExtension, str
194195
195196 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
196197 {
197- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
198- assemblyInfoFileUpdater . Update ( ) ;
198+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
199+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
199200
200201 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
201202 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -215,8 +216,8 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithWhiteSpace(string file
215216
216217 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
217218 {
218- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
219- assemblyInfoFileUpdater . Update ( ) ;
219+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
220+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
220221
221222 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
222223 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -236,8 +237,8 @@ public void ShouldReplaceAssemblyVersionWithStar(string fileExtension, string as
236237
237238 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
238239 {
239- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
240- assemblyInfoFileUpdater . Update ( ) ;
240+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
241+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
241242
242243 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
243244 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -257,8 +258,8 @@ public void ShouldReplaceAssemblyVersionWithAtttributeSuffix(string fileExtensio
257258
258259 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , verify : ( fs , variables ) =>
259260 {
260- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
261- assemblyInfoFileUpdater . Update ( ) ;
261+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
262+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
262263
263264 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
264265 ! s . Contains ( @"AssemblyVersionAttribute(""1.0.0.0"")" ) &&
@@ -281,8 +282,8 @@ public void ShouldAddAssemblyVersionIfMissingFromInfoFile(string fileExtension)
281282
282283 VerifyAssemblyInfoFile ( "" , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
283284 {
284- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
285- assemblyInfoFileUpdater . Update ( ) ;
285+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
286+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
286287
287288 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
288289 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -302,8 +303,8 @@ public void ShouldReplaceAlreadySubstitutedValues(string fileExtension, string a
302303
303304 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
304305 {
305- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
306- assemblyInfoFileUpdater . Update ( ) ;
306+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
307+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
307308
308309 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
309310 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -323,8 +324,8 @@ public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsure
323324
324325 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , verify : ( fs , variables ) =>
325326 {
326- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
327- assemblyInfoFileUpdater . Update ( ) ;
327+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
328+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
328329
329330 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
330331 s . Contains ( @"AssemblyVersion(""2.3.1.0"")" ) &&
@@ -344,8 +345,8 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariables(string fileE
344345
345346 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
346347 {
347- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
348- assemblyInfoFileUpdater . Update ( ) ;
348+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
349+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
349350
350351 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
351352 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -365,8 +366,8 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariablesAndWhiteSpace
365366
366367 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . MajorMinor , ( fs , variables ) =>
367368 {
368- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
369- assemblyInfoFileUpdater . Update ( ) ;
369+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
370+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
370371
371372 fs . Received ( ) . WriteAllText ( fileName , Arg . Is < string > ( s =>
372373 s . Contains ( @"AssemblyVersion(""2.3.0.0"")" ) &&
@@ -388,8 +389,8 @@ public void ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile
388389
389390 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , verify : ( fs , variables ) =>
390391 {
391- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
392- assemblyInfoFileUpdater . Update ( ) ;
392+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
393+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
393394
394395 assemblyFileContent = fs . ReadAllText ( fileName ) ;
395396 assemblyFileContent . ShouldMatchApproved ( c => c . SubFolder ( Path . Combine ( "Approved" , fileExtension ) ) ) ;
@@ -409,8 +410,8 @@ public void Issue1183ShouldAddFSharpAssemblyInformationalVersionBesideOtherAttri
409410
410411 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , verify : ( fs , variables ) =>
411412 {
412- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
413- assemblyInfoFileUpdater . Update ( ) ;
413+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
414+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
414415
415416 assemblyFileContent = fs . ReadAllText ( fileName ) ;
416417 assemblyFileContent . ShouldMatchApproved ( c => c . SubFolder ( Path . Combine ( "Approved" , fileExtension ) ) ) ;
@@ -430,8 +431,8 @@ public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionF
430431
431432 VerifyAssemblyInfoFile ( assemblyFileContent , fileName , AssemblyVersioningScheme . None , verify : ( fs , variables ) =>
432433 {
433- using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( assemblyInfoFile , workingDir , variables , fs , log , false ) ;
434- assemblyInfoFileUpdater . Update ( ) ;
434+ using var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater ( log , fs ) ;
435+ assemblyInfoFileUpdater . Update ( variables , false , workingDir , assemblyInfoFile ) ;
435436
436437 assemblyFileContent = fs . ReadAllText ( fileName ) ;
437438 assemblyFileContent . ShouldMatchApproved ( c => c . SubFolder ( Path . Combine ( "Approved" , fileExtension ) ) ) ;
0 commit comments