1
- namespace GitVersionTask
1
+ namespace GitVersionTask
2
2
{
3
+ using System ;
3
4
using GitVersion ;
4
5
using GitVersion . Helpers ;
5
6
8
9
9
10
public abstract class GitVersionTaskBase : Task
10
11
{
11
- readonly ExecuteCore executeCore ;
12
-
13
12
protected GitVersionTaskBase ( )
14
13
{
15
14
var fileSystem = new FileSystem ( ) ;
16
- executeCore = new ExecuteCore ( fileSystem ) ;
17
- GitVersion . Logger . SetLoggers ( this . LogDebug , this . LogInfo , this . LogWarning , s => this . LogError ( s ) ) ;
15
+ ExecuteCore = new ExecuteCore ( fileSystem ) ;
16
+ GitVersion . Logger . SetLoggers ( LogDebug , LogInfo , LogWarning , s => LogError ( s ) ) ;
18
17
}
19
18
20
- protected ExecuteCore ExecuteCore
19
+ public override bool Execute ( )
21
20
{
22
- get { return executeCore ; }
21
+ try
22
+ {
23
+ InnerExecute ( ) ;
24
+ return true ;
25
+ }
26
+ catch ( WarningException errorException )
27
+ {
28
+ LogWarning ( errorException . Message ) ;
29
+ return true ;
30
+ }
31
+ catch ( Exception exception )
32
+ {
33
+ LogError ( "Error occurred: " + exception ) ;
34
+ return false ;
35
+ }
23
36
}
24
37
38
+ protected abstract void InnerExecute ( ) ;
39
+
40
+ protected ExecuteCore ExecuteCore { get ; }
41
+
42
+ [ Required ]
43
+ public string SolutionDirectory { get ; set ; }
44
+
45
+ public bool NoFetch { get ; set ; }
46
+
25
47
public void LogDebug ( string message )
26
48
{
27
- this . BuildEngine . LogMessageEvent ( new BuildMessageEventArgs ( message , string . Empty , "GitVersionTask" , MessageImportance . Low ) ) ;
49
+ BuildEngine . LogMessageEvent ( new BuildMessageEventArgs ( message , string . Empty , "GitVersionTask" , MessageImportance . Low ) ) ;
28
50
}
29
51
30
52
public void LogWarning ( string message )
31
53
{
32
- this . BuildEngine . LogWarningEvent ( new BuildWarningEventArgs ( string . Empty , string . Empty , null , 0 , 0 , 0 , 0 , message , string . Empty , "GitVersionTask" ) ) ;
54
+ BuildEngine . LogWarningEvent ( new BuildWarningEventArgs ( string . Empty , string . Empty , null , 0 , 0 , 0 , 0 , message , string . Empty , "GitVersionTask" ) ) ;
33
55
}
34
56
35
57
public void LogInfo ( string message )
36
58
{
37
- this . BuildEngine . LogMessageEvent ( new BuildMessageEventArgs ( message , string . Empty , "GitVersionTask" , MessageImportance . Normal ) ) ;
59
+ BuildEngine . LogMessageEvent ( new BuildMessageEventArgs ( message , string . Empty , "GitVersionTask" , MessageImportance . Normal ) ) ;
38
60
}
39
61
40
62
public void LogError ( string message , string file = null )
41
63
{
42
- this . BuildEngine . LogErrorEvent ( new BuildErrorEventArgs ( string . Empty , string . Empty , file , 0 , 0 , 0 , 0 , message , string . Empty , "GitVersionTask" ) ) ;
64
+ BuildEngine . LogErrorEvent ( new BuildErrorEventArgs ( string . Empty , string . Empty , file , 0 , 0 , 0 , 0 , message , string . Empty , "GitVersionTask" ) ) ;
43
65
}
44
66
}
45
- }
67
+ }
0 commit comments