Skip to content

Commit ee8e351

Browse files
authored
Merge pull request #390 from gradle/erichaagdev/format-serialization-factor-in-java
Serialization factor is formatted in Java
2 parents a50d244 + 5e53d98 commit ee8e351

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.gradle.enterprise.model.TaskExecutionSummary;
55

66
import java.math.BigDecimal;
7+
import java.math.RoundingMode;
78
import java.time.Duration;
89
import java.util.Arrays;
910
import java.util.function.Function;
@@ -34,7 +35,7 @@ public enum BuildScanDataFields {
3435
EXECUTED_NOT_CACHEABLE("Executed not cacheable", d -> totalTasks(d, "executed_not_cacheable")),
3536
EXECUTED_NOT_CACHEABLE_DURATION("Executed not cacheable duration", d -> totalDuration(d, "executed_not_cacheable")),
3637
BUILD_TIME("Build time", d -> formatDuration(d.getBuildTime())),
37-
SERIALIZATION_FACTOR("Serialization factor", d -> toStringSafely(d.getSerializationFactor())),
38+
SERIALIZATION_FACTOR("Serialization factor", d -> formatSerializationFactor(d.getSerializationFactor())),
3839
;
3940

4041
private static final String NO_VALUE = "";
@@ -55,10 +56,6 @@ private static String toStringSafely(Object object) {
5556
return object == null ? NO_VALUE : object.toString();
5657
}
5758

58-
private static String toStringSafely(BigDecimal value) {
59-
return value == null ? NO_VALUE : value.toPlainString();
60-
}
61-
6259
private static String totalTasks(BuildScanData data, String avoidanceOutcome) {
6360
return summaryTotal(data, avoidanceOutcome, t -> String.valueOf(t.totalTasks()));
6461
}
@@ -81,4 +78,8 @@ private static String summaryTotal(BuildScanData data, String avoidanceOutcome,
8178
private static String formatDuration(Duration duration) {
8279
return duration == null ? NO_VALUE : format(duration);
8380
}
81+
82+
private static String formatSerializationFactor(BigDecimal serializationFactor) {
83+
return serializationFactor == null ? NO_VALUE : serializationFactor.setScale(2, RoundingMode.HALF_UP).doubleValue() + "x";
84+
}
8485
}

components/scripts/lib/summary.sh

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,7 @@ print_executed_non_cacheable_tasks() {
278278
print_serialization_factor() {
279279
local value
280280
if [[ -n "${serialization_factors[0]}" && -n "${serialization_factors[1]}" ]]; then
281-
printf -v value "%sx first build, %sx second build" \
282-
"$(to_two_decimal_places "${serialization_factors[0]}")" \
283-
"$(to_two_decimal_places "${serialization_factors[1]}")"
281+
printf -v value "%s first build, %s second build" "${serialization_factors[0]}" "${serialization_factors[1]}"
284282
fi
285283
summary_row "Serialization factor:" "${value}"
286284
}
@@ -374,9 +372,3 @@ create_receipt_file() {
374372
echo "Generated by $(print_version)"
375373
} > "${RECEIPT_FILE}"
376374
}
377-
378-
# Rounds the argument to two decimal places
379-
# See: https://unix.stackexchange.com/a/167059
380-
to_two_decimal_places() {
381-
LC_ALL=C printf "%.2f" "$1"
382-
}

0 commit comments

Comments
 (0)