From 2b24f6c1ce9ecbf05c647473ea7fe3f94cfaf892 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Thu, 7 Dec 2023 19:34:42 +0100 Subject: jgvariant-tool: Remove Guava dependency. This reduces the uberjar size from 4 MB to 1.2 MB. Change-Id: I06e202fe3c5e942511952f43b8f2c5941027cce9 --- jgvariant-tool/pom.xml | 6 ------ .../eu/mulk/jgvariant/tool/jsonb/VariantSerializer.java | 13 +++++++++++-- jgvariant-tool/src/main/java/module-info.java | 1 - 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/jgvariant-tool/pom.xml b/jgvariant-tool/pom.xml index 6e01ade..60db3f3 100644 --- a/jgvariant-tool/pom.xml +++ b/jgvariant-tool/pom.xml @@ -73,12 +73,6 @@ SPDX-License-Identifier: GPL-3.0-or-later org.eclipse yasson - - - - com.google.guava - guava - diff --git a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/jsonb/VariantSerializer.java b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/jsonb/VariantSerializer.java index 99ff553..311033c 100644 --- a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/jsonb/VariantSerializer.java +++ b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/jsonb/VariantSerializer.java @@ -4,13 +4,13 @@ package eu.mulk.jgvariant.tool.jsonb; -import com.google.common.primitives.Bytes; import eu.mulk.jgvariant.core.Signature; import eu.mulk.jgvariant.core.Variant; import jakarta.json.bind.serializer.JsonbSerializer; import jakarta.json.bind.serializer.SerializationContext; import jakarta.json.stream.JsonGenerator; import java.text.ParseException; +import java.util.Collection; import java.util.List; @SuppressWarnings("java:S6548") @@ -35,9 +35,18 @@ public final class VariantSerializer implements JsonbSerializer { @SuppressWarnings("unchecked") public void serialize(Variant obj, JsonGenerator generator, SerializationContext ctx) { if (obj.signature().equals(byteArraySignature)) { - byteArraySerializer.serialize(Bytes.toArray((List) obj.value()), generator, ctx); + byteArraySerializer.serialize(byteArrayOf((List) obj.value()), generator, ctx); } else { ctx.serialize(obj.value(), generator); } } + + private static byte[] byteArrayOf(Collection bytes) { + byte[] result = new byte[bytes.size()]; + int i = 0; + for (byte b : bytes) { + result[i++] = b; + } + return result; + } } diff --git a/jgvariant-tool/src/main/java/module-info.java b/jgvariant-tool/src/main/java/module-info.java index e66981c..add77c0 100644 --- a/jgvariant-tool/src/main/java/module-info.java +++ b/jgvariant-tool/src/main/java/module-info.java @@ -4,7 +4,6 @@ module eu.mulk.jgvariant.tool { requires transitive eu.mulk.jgvariant.ostree; - requires com.google.common; requires info.picocli; requires jakarta.json; requires jakarta.json.bind; -- cgit v1.2.3