Skip to content

Commit bf6f79f

Browse files
authored
Merge pull request #391 from gradle/erichaagdev/java-tool-printing-cleanup
Java tool printing logic is simplified
2 parents ee8e351 + ff7292f commit bf6f79f

File tree

2 files changed

+55
-42
lines changed

2 files changed

+55
-42
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.gradle.enterprise.cli;
2+
3+
import com.gradle.enterprise.model.BuildScanData;
4+
import com.gradle.enterprise.model.BuildTimeMetrics;
5+
6+
import java.util.List;
7+
import java.util.stream.Stream;
8+
9+
import static java.util.stream.Collectors.joining;
10+
11+
final class BuildInsightsPrinter {
12+
13+
static void printInsights(List<BuildScanData> buildScanData) {
14+
printBuildScanDataHeader();
15+
printBuildScanData(buildScanData);
16+
17+
if (buildScanData.size() == 2) {
18+
printBuildTimeMetricsHeader();
19+
printBuildTimeMetrics(buildScanData);
20+
}
21+
}
22+
23+
private static void printBuildScanDataHeader() {
24+
printRow(BuildScanDataFields.ordered().map(f -> f.label));
25+
}
26+
27+
private static void printBuildScanData(List<BuildScanData> buildScanData) {
28+
buildScanData.forEach(BuildInsightsPrinter::printBuildScanData);
29+
}
30+
31+
private static void printBuildScanData(BuildScanData buildScanData) {
32+
printRow(BuildScanDataFields.ordered().map(f -> f.value.apply(buildScanData)));
33+
}
34+
35+
private static void printBuildTimeMetricsHeader() {
36+
printRow(BuildTimeMetricsFields.ordered().map(f -> f.label));
37+
}
38+
39+
private static void printBuildTimeMetrics(List<BuildScanData> buildScanData) {
40+
final BuildTimeMetrics buildTimeData = BuildTimeMetrics.from(buildScanData.get(0), buildScanData.get(1));
41+
if (buildTimeData == null) {
42+
printRow(BuildTimeMetricsFields.ordered().map(f -> ""));
43+
} else {
44+
printRow(BuildTimeMetricsFields.ordered().map(f -> f.value.apply(buildTimeData)));
45+
}
46+
}
47+
48+
private static void printRow(Stream<String> values) {
49+
System.out.println(values.collect(joining(",")));
50+
}
51+
52+
private BuildInsightsPrinter() {
53+
}
54+
}

components/fetch-build-scan-data-cmdline-tool/src/main/java/com/gradle/enterprise/cli/FetchBuildScanDataCommand.java

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.gradle.enterprise.api.client.FailedRequestException;
44
import com.gradle.enterprise.api.client.GradleEnterpriseApiClient;
5-
import com.gradle.enterprise.model.BuildTimeMetrics;
65
import com.gradle.enterprise.model.BuildScanData;
76
import com.gradle.enterprise.model.CustomValueNames;
87
import com.gradle.enterprise.model.NumberedBuildScan;
@@ -71,7 +70,7 @@ public Integer call() {
7170
logFinishedFetchingAllBuildScanData();
7271
logFetchResults(buildScanData, customValueKeys);
7372

74-
printResults(buildScanData);
73+
BuildInsightsPrinter.printInsights(buildScanData);
7574

7675
return ExitCode.OK;
7776
}
@@ -174,46 +173,6 @@ private void logFetchResultFor(int runNum, String property, String customValueKe
174173
);
175174
}
176175

177-
private static void printResults(List<BuildScanData> buildScanData) {
178-
printBuildScanDataHeader();
179-
printBuildScanData(buildScanData);
180-
181-
if (buildScanData.size() == 2) {
182-
printBuildTimeMetricsHeader();
183-
printBuildTimeMetrics(buildScanData);
184-
}
185-
}
186-
187-
public static void printBuildScanDataHeader() {
188-
List<String> labels = BuildScanDataFields.ordered().map(f -> f.label).collect(Collectors.toList());
189-
System.out.println(String.join(",", labels));
190-
}
191-
192-
private static void printBuildScanData(List<BuildScanData> buildScanData) {
193-
buildScanData.forEach(FetchBuildScanDataCommand::printBuildScanData);
194-
}
195-
196-
private static void printBuildScanData(BuildScanData buildScanData) {
197-
List<String> values = BuildScanDataFields.ordered().map(f -> f.value.apply(buildScanData)).collect(Collectors.toList());
198-
System.out.println(String.join(",", values));
199-
}
200-
201-
private static void printBuildTimeMetricsHeader() {
202-
List<String> labels = BuildTimeMetricsFields.ordered().map(f -> f.label).collect(Collectors.toList());
203-
System.out.println(String.join(",", labels));
204-
}
205-
206-
private static void printBuildTimeMetrics(List<BuildScanData> buildScanData) {
207-
final BuildTimeMetrics buildTimeData = BuildTimeMetrics.from(buildScanData.get(0), buildScanData.get(1));
208-
List<String> values;
209-
if (buildTimeData == null) {
210-
values = BuildTimeMetricsFields.ordered().map(f -> "").collect(Collectors.toList());
211-
} else {
212-
values = BuildTimeMetricsFields.ordered().map(f -> f.value.apply(buildTimeData)).collect(Collectors.toList());
213-
}
214-
System.out.println(String.join(",", values));
215-
}
216-
217176
private static String toOrdinal(int i) {
218177
switch(i + 1) {
219178
case 1: return "first";

0 commit comments

Comments
 (0)