@@ -63,6 +63,7 @@ final class CustomBuildScanEnhancements {
63
63
private static final String PROJECT_PROP_ANDROID_STUDIO_VERSION = "android.studio.version" ;
64
64
private static final String SYSTEM_PROP_ECLIPSE_BUILD_ID = "eclipse.buildId" ;
65
65
private static final String SYSTEM_PROP_IDEA_SYNC_ACTIVE = "idea.sync.active" ;
66
+ private static final String ENV_VAR_VSCODE_PID = "VSCODE_PID" ;
66
67
67
68
private final DevelocityAdapter develocity ;
68
69
private final BuildScanAdapter buildScan ;
@@ -101,6 +102,7 @@ private void captureIde() {
101
102
ideProperties .put (PROJECT_PROP_ANDROID_STUDIO_VERSION , firstOrElseSecond (providers , gradlePropertyProvider (PROJECT_PROP_ANDROID_STUDIO_VERSION , gradle , providers ), gradlePropertyProvider (PROJECT_PROP_ANDROID_STUDIO_VERSION_LEGACY , gradle , providers )));
102
103
ideProperties .put (SYSTEM_PROP_ECLIPSE_BUILD_ID , systemPropertyProvider (SYSTEM_PROP_ECLIPSE_BUILD_ID , providers ));
103
104
ideProperties .put (SYSTEM_PROP_IDEA_SYNC_ACTIVE , systemPropertyProvider (SYSTEM_PROP_IDEA_SYNC_ACTIVE , providers ));
105
+ ideProperties .put (ENV_VAR_VSCODE_PID , environmentPropertyProvider (ENV_VAR_VSCODE_PID , providers ));
104
106
105
107
// Process data at execution time to ensure property initialization
106
108
buildScan .buildFinished (new CaptureIdeMetadataAction (buildScan , ideProperties ));
@@ -135,6 +137,8 @@ public void execute(BuildResultAdapter buildResult) {
135
137
tagIde ("IntelliJ IDEA" , props .get (SYSTEM_PROP_IDEA_VERSION ).get ());
136
138
} else if (props .get (SYSTEM_PROP_ECLIPSE_BUILD_ID ).isPresent ()) {
137
139
tagIde ("Eclipse" , props .get (SYSTEM_PROP_ECLIPSE_BUILD_ID ).get ());
140
+ } else if (props .get (ENV_VAR_VSCODE_PID ).isPresent ()) {
141
+ tagIde ("VS Code" , "" );
138
142
} else {
139
143
buildScan .tag ("Cmd Line" );
140
144
}
@@ -570,4 +574,12 @@ private static <T> Provider<T> firstOrElseSecond(ProviderFactory providers, Prov
570
574
}
571
575
}
572
576
577
+ private static Provider <String > environmentPropertyProvider (String name , ProviderFactory providers ) {
578
+ if (isGradle61OrNewer ()) {
579
+ return providers .environmentVariable (name );
580
+ } else {
581
+ return providers .provider (() -> System .getenv (name ));
582
+ }
583
+ }
584
+
573
585
}
0 commit comments