diff options
4 files changed, 105 insertions, 3 deletions
diff --git a/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Decoder.java b/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Decoder.java index 60cef3e..74d569d 100644 --- a/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Decoder.java +++ b/jgvariant-core/src/main/java/eu/mulk/jgvariant/core/Decoder.java @@ -116,7 +116,8 @@ public abstract class Decoder<T> { /** * Creates a new {@link Decoder} from an existing one by applying a function to the result. * - * @param function the function to apply. + * @param decodingFunction the function to apply when decoding. + * @param encodingFunction the function to apply when encoding. * @return a new, decorated {@link Decoder}. * @see java.util.stream.Stream#map */ @@ -127,7 +128,8 @@ public abstract class Decoder<T> { /** * Creates a new {@link Decoder} from an existing one by applying a function to the input. * - * @param function the function to apply. + * @param decodingFunction the function to apply when decoding. + * @param encodingFunction the function to apply when encoding. * @return a new, decorated {@link Decoder}. * @see java.util.stream.Stream#map */ diff --git a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java index 64e375a..bca6ad9 100644 --- a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java +++ b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/Main.java @@ -12,7 +12,50 @@ import picocli.CommandLine; /** * A command line tool to read and manipulate GVariant-formatted files. * + * <p>Implements a tool called {@code jgvariant} that can be used to + * manipulate GVariant-formatted files from the command line. + * * <p>Also provides ways to manipulate OSTree repositories. + * + * <p>Usage example (dumping the contents of an OSTree summary file): + * + * {@snippet lang="sh" : + * $ jgvariant ostree summary read ./jgvariant-ostree/src/test/resources/ostree/summary + * } + * + * <p>Output: + * + * {@snippet lang="json" : + * { + * "entries": [ + * { + * "ref": "mulkos/1.x/amd64", + * "value": { + * "checksum": "66ff167ff35ce87daac817447a9490a262ee75f095f017716a6eb1a9d9eb3350", + * "metadata": { + * "fields": { + * "ostree.commit.timestamp": 1640537170 + * } + * }, + * "size": 214 + * } + * } + * ], + * "metadata": { + * "fields": { + * "ostree.summary.last-modified": 1640537300, + * "ostree.summary.tombstone-commits": false, + * "ostree.static-deltas": { + * "3d3b3329dca38871f29aeda1bf5854d76c707fa269759a899d0985c91815fe6f-66ff167ff35ce87daac817447a9490a262ee75f095f017716a6eb1a9d9eb3350": "03738040e28e7662e9c9d2599c530ea974e642c9f87e6c00cbaa39a0cdac8d44", + * "31c8835d5c9d2c6687a50091c85142d1b2d853ff416a9fb81b4ee30754510d52": "f481144629474bd88c106e45ac405ebd75b324b0655af1aec14b31786ae1fd61", + * "31c8835d5c9d2c6687a50091c85142d1b2d853ff416a9fb81b4ee30754510d52-3d3b3329dca38871f29aeda1bf5854d76c707fa269759a899d0985c91815fe6f": "2c6a07bc1cf4d7ce7d00f82d7d2d6d156fd0e31d476851b46dc2306b181b064a" + * }, + * "ostree.summary.mode": "bare", + * "ostree.summary.indexed-deltas": true + * } + * } + * } + * } */ public final class Main { static { diff --git a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/package-info.java b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/package-info.java index da5c3ba..54a4fff 100644 --- a/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/package-info.java +++ b/jgvariant-tool/src/main/java/eu/mulk/jgvariant/tool/package-info.java @@ -2,6 +2,12 @@ // // SPDX-License-Identifier: GPL-3.0-or-later +/** + * The {@code jgvariant} command line tool. + * + * <p>The {@link eu.mulk.jgvariant.tool.Main} class defines a tool called {@code jgvariant} that can + * be used to manipulate GVariant-formatted files from the command line. + */ @API(status = API.Status.INTERNAL) package eu.mulk.jgvariant.tool; diff --git a/jgvariant-tool/src/main/java/module-info.java b/jgvariant-tool/src/main/java/module-info.java index add77c0..3f457ea 100644 --- a/jgvariant-tool/src/main/java/module-info.java +++ b/jgvariant-tool/src/main/java/module-info.java @@ -2,7 +2,58 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -module eu.mulk.jgvariant.tool { +/** + * The {@code jgvariant} command line tool. + * + * <p>The {@link eu.mulk.jgvariant.tool} module contains a tool called + * {@code jgvariant} that can be used to manipulate GVariant-formatted + * files from the command line. Its primary purpose is to enable the + * scripting of OSTree repository management tasks. + * + * <p>The {@link eu.mulk.jgvariant.tool.Main} class defines the entry point + * of the tool. + * + * <p>Usage example (dumping the contents of an OSTree summary file): + * + * {@snippet lang="sh" : + * $ jgvariant ostree summary read ./jgvariant-ostree/src/test/resources/ostree/summary + * } + * + * <p>Output: + * + * {@snippet lang="json" : + * { + * "entries": [ + * { + * "ref": "mulkos/1.x/amd64", + * "value": { + * "checksum": "66ff167ff35ce87daac817447a9490a262ee75f095f017716a6eb1a9d9eb3350", + * "metadata": { + * "fields": { + * "ostree.commit.timestamp": 1640537170 + * } + * }, + * "size": 214 + * } + * } + * ], + * "metadata": { + * "fields": { + * "ostree.summary.last-modified": 1640537300, + * "ostree.summary.tombstone-commits": false, + * "ostree.static-deltas": { + * "3d3b3329dca38871f29aeda1bf5854d76c707fa269759a899d0985c91815fe6f-66ff167ff35ce87daac817447a9490a262ee75f095f017716a6eb1a9d9eb3350": "03738040e28e7662e9c9d2599c530ea974e642c9f87e6c00cbaa39a0cdac8d44", + * "31c8835d5c9d2c6687a50091c85142d1b2d853ff416a9fb81b4ee30754510d52": "f481144629474bd88c106e45ac405ebd75b324b0655af1aec14b31786ae1fd61", + * "31c8835d5c9d2c6687a50091c85142d1b2d853ff416a9fb81b4ee30754510d52-3d3b3329dca38871f29aeda1bf5854d76c707fa269759a899d0985c91815fe6f": "2c6a07bc1cf4d7ce7d00f82d7d2d6d156fd0e31d476851b46dc2306b181b064a" + * }, + * "ostree.summary.mode": "bare", + * "ostree.summary.indexed-deltas": true + * } + * } + * } + * } + */ + module eu.mulk.jgvariant.tool { requires transitive eu.mulk.jgvariant.ostree; requires info.picocli; requires jakarta.json; |