@@ -120,18 +120,29 @@ public ITask<ValidateGitInstallResult> ValidateGitInstall(NPath path)
120
120
Version gitVersion = null ;
121
121
Version gitLfsVersion = null ;
122
122
123
- var gitVersionTask = new GitVersionTask ( cancellationToken ) . Configure ( processManager , path ) ;
124
- var gitLfsVersionTask = new GitLfsVersionTask ( cancellationToken ) . Configure ( processManager , path ) ;
125
-
126
- return gitVersionTask
127
- . Then ( ( result , version ) => gitVersion = version )
128
- . Then ( gitLfsVersionTask )
129
- . Then ( ( result , version ) => gitLfsVersion = version )
130
- . Then ( success => new ValidateGitInstallResult ( success &&
123
+ var endTask = new FuncTask < ValidateGitInstallResult > ( cancellationToken ,
124
+ ( ) => new ValidateGitInstallResult (
131
125
gitVersion ? . CompareTo ( Constants . MinimumGitVersion ) >= 0 &&
132
126
gitLfsVersion ? . CompareTo ( Constants . MinimumGitLfsVersion ) >= 0 ,
133
- gitVersion , gitLfsVersion )
134
- ) ;
127
+ gitVersion , gitLfsVersion ) ) ;
128
+
129
+ var gitLfsVersionTask = new GitLfsVersionTask ( cancellationToken ) . Configure ( processManager , path ) ;
130
+
131
+ gitLfsVersionTask
132
+ . Then ( ( result , version ) => { return gitLfsVersion = version ; } )
133
+ . Then ( endTask , taskIsTopOfChain : true ) ;
134
+
135
+ gitLfsVersionTask . Then ( endTask , TaskRunOptions . OnFailure , taskIsTopOfChain : true ) ;
136
+
137
+ var gitVersionTask = new GitVersionTask ( cancellationToken ) . Configure ( processManager , path ) ;
138
+
139
+ gitVersionTask
140
+ . Then ( ( result , version ) => { return gitVersion = version ; } )
141
+ . Then ( gitLfsVersionTask , taskIsTopOfChain : true ) ;
142
+
143
+ gitVersionTask . Then ( endTask , TaskRunOptions . OnFailure , taskIsTopOfChain : true ) ;
144
+
145
+ return endTask ;
135
146
}
136
147
137
148
public ITask Init ( IOutputProcessor < string > processor = null )
0 commit comments