Skip to content

Commit 384c1eb

Browse files
authored
Merge pull request #384 from gradle/gk/vscode_tagging
Add detecting and tagging VSCode builds
2 parents b3fb108 + 8e235ec commit 384c1eb

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ out/
55
build/
66
target/
77
*.DS_Store
8+
.vscode/
9+
bin/

release/changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
- [NEW] Added tagging VS Code builds
12
- [FIX] Retreiving git metadata when an altenate project path is given

src/main/java/com/gradle/CustomBuildScanEnhancements.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ final class CustomBuildScanEnhancements {
6363
private static final String PROJECT_PROP_ANDROID_STUDIO_VERSION = "android.studio.version";
6464
private static final String SYSTEM_PROP_ECLIPSE_BUILD_ID = "eclipse.buildId";
6565
private static final String SYSTEM_PROP_IDEA_SYNC_ACTIVE = "idea.sync.active";
66+
private static final String ENV_VAR_VSCODE_PID = "VSCODE_PID";
6667

6768
private final DevelocityAdapter develocity;
6869
private final BuildScanAdapter buildScan;
@@ -101,6 +102,7 @@ private void captureIde() {
101102
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)));
102103
ideProperties.put(SYSTEM_PROP_ECLIPSE_BUILD_ID, systemPropertyProvider(SYSTEM_PROP_ECLIPSE_BUILD_ID, providers));
103104
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));
104106

105107
// Process data at execution time to ensure property initialization
106108
buildScan.buildFinished(new CaptureIdeMetadataAction(buildScan, ideProperties));
@@ -135,6 +137,8 @@ public void execute(BuildResultAdapter buildResult) {
135137
tagIde("IntelliJ IDEA", props.get(SYSTEM_PROP_IDEA_VERSION).get());
136138
} else if (props.get(SYSTEM_PROP_ECLIPSE_BUILD_ID).isPresent()) {
137139
tagIde("Eclipse", props.get(SYSTEM_PROP_ECLIPSE_BUILD_ID).get());
140+
} else if (props.get(ENV_VAR_VSCODE_PID).isPresent()) {
141+
tagIde("VS Code", "");
138142
} else {
139143
buildScan.tag("Cmd Line");
140144
}
@@ -570,4 +574,12 @@ private static <T> Provider<T> firstOrElseSecond(ProviderFactory providers, Prov
570574
}
571575
}
572576

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+
573585
}

0 commit comments

Comments
 (0)