@@ -17,9 +17,10 @@ public static void BuildStarted(NukeBuild build)
1717 {
1818 TrackEvent (
1919 eventName : nameof ( BuildStarted ) ,
20- properties : GetCommonProperties ( build )
21- . AddDictionary ( GetBuildProperties ( build ) )
22- . AddDictionary ( GetRepositoryProperties ( NukeBuild . RootDirectory ) ) ) ;
20+ propertiesProvider : ( ) =>
21+ GetCommonProperties ( build )
22+ . AddDictionary ( GetBuildProperties ( build ) )
23+ . AddDictionary ( GetRepositoryProperties ( NukeBuild . RootDirectory ) ) ) ;
2324 }
2425
2526 public static void TargetSucceeded ( ExecutableTarget target , NukeBuild build )
@@ -29,52 +30,58 @@ public static void TargetSucceeded(ExecutableTarget target, NukeBuild build)
2930 {
3031 TrackEvent (
3132 eventName : nameof ( TargetSucceeded ) ,
32- properties : GetCommonProperties ( build )
33- . AddDictionary ( GetTargetProperties ( build , target ) )
34- . AddDictionary ( GetBuildProperties ( build ) )
35- . AddDictionary ( GetRepositoryProperties ( NukeBuild . RootDirectory ) ) ) ;
33+ propertiesProvider : ( ) =>
34+ GetCommonProperties ( build )
35+ . AddDictionary ( GetTargetProperties ( build , target ) )
36+ . AddDictionary ( GetBuildProperties ( build ) )
37+ . AddDictionary ( GetRepositoryProperties ( NukeBuild . RootDirectory ) ) ) ;
3638 }
3739 }
3840
3941 public static void ConfigurationGenerated ( Type hostType , string generatorId , NukeBuild build )
4042 {
4143 TrackEvent (
4244 eventName : nameof ( ConfigurationGenerated ) ,
43- properties : GetCommonProperties ( build )
44- . AddDictionary ( GetGeneratorProperties ( hostType , generatorId ) )
45- . AddDictionary ( GetBuildProperties ( build ) )
46- . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
45+ propertiesProvider : ( ) =>
46+ GetCommonProperties ( build )
47+ . AddDictionary ( GetGeneratorProperties ( hostType , generatorId ) )
48+ . AddDictionary ( GetBuildProperties ( build ) )
49+ . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
4750 }
4851
4952 public static void SetupBuild ( )
5053 {
5154 TrackEvent (
5255 eventName : nameof ( SetupBuild ) ,
53- properties : GetCommonProperties ( )
54- . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
56+ propertiesProvider : ( ) =>
57+ GetCommonProperties ( )
58+ . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
5559 }
5660
5761 public static void ConvertCake ( )
5862 {
5963 TrackEvent (
6064 eventName : nameof ( ConvertCake ) ,
61- properties : GetCommonProperties ( )
62- . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
65+ propertiesProvider : ( ) =>
66+ GetCommonProperties ( )
67+ . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
6368 }
6469
6570 public static void AddPackage ( )
6671 {
6772 TrackEvent (
6873 eventName : nameof ( AddPackage ) ,
69- properties : GetCommonProperties ( )
70- . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
74+ propertiesProvider : ( ) =>
75+ GetCommonProperties ( )
76+ . AddDictionary ( GetRepositoryProperties ( EnvironmentInfo . WorkingDirectory ) ) ) ;
7177 }
7278
73- private static void TrackEvent ( string eventName , IDictionary < string , string > properties )
79+ private static void TrackEvent ( string eventName , Func < IDictionary < string , string > > propertiesProvider )
7480 {
7581 if ( s_client == null )
7682 return ;
7783
84+ var properties = propertiesProvider . Invoke ( ) ;
7885 // TODO: logging additional
7986 Log . Verbose ( "Sending {EventName} telemetry event ..." , eventName ) ;
8087 var longestPropertyName = properties . Keys . Max ( x => x . Length ) ;
0 commit comments