| commit | 4303ab30234d290874ded1846e33c48bc651c513 | [log] [tgz] |
|---|---|---|
| author | Renovate Bot <renovate-bot@benkard.de> | Thu Jul 18 23:02:57 2024 +0000 |
| committer | Renovate Bot <renovate-bot@benkard.de> | Thu Jul 18 23:02:57 2024 +0000 |
| tree | fded98913d450558afda46231e37a5e09128630b | |
| parent | cf07014818565ca9b8c72454a18762c6a1f350f7 [diff] | |
| parent | 0f2b6513388a4c16ad3e10a18b04ffccddf95f63 [diff] |
Update all non-major dependencies to v2.29.2 (mulk/jgvariant!27) This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [com.google.errorprone:error_prone_core](https://errorprone.info) ([source](https://github.com/google/error-prone)) | | minor | `2.28.0` -> `2.29.2` | | [com.google.errorprone:error_prone_annotations](https://errorprone.info) ([source](https://github.com/google/error-prone)) | compile | minor | `2.28.0` -> `2.29.2` | --- ### Release Notes <details> <summary>google/error-prone</summary> ### [`v2.29.2`](https://github.com/google/error-prone/releases/tag/v2.29.2): Error Prone 2.29.2 [Compare Source](https://github.com/google/error-prone/compare/v2.29.1...v2.29.2) This release contains all of the changes in [2.29.0](https://github.com/google/error-prone/releases/tag/v2.29.0) and [2.29.1](https://github.com/google/error-prone/releases/tag/v2.29.1), plus: - a bug fix for a crash in `TraditionalSwitchExpression` (https://github.com/google/error-prone/issues/4479) - restores the `module-info` for the annotations jar, which was accidentally removed (https://github.com/google/error-prone/issues/4480) Full Changelog: https://github.com/google/error-prone/compare/v2.29.1...v2.29.2 ### [`v2.29.1`](https://github.com/google/error-prone/releases/tag/v2.29.1): Error Prone 2.29.1 [Compare Source](https://github.com/google/error-prone/compare/v2.29.0...v2.29.1) This release contains all of the changes in [2.29.0](https://github.com/google/error-prone/releases/tag/v2.29.0), plus: - a bug fix to `UnusedVariable` to handle unnamed `_` variables (https://github.com/google/error-prone/issues/4451) - a bug fix for a crash in `SetUnrecognized` (https://github.com/google/error-prone/issues/4475) Full Changelog: https://github.com/google/error-prone/compare/v2.29.0...v2.29.1 ### [`v2.29.0`](https://github.com/google/error-prone/releases/tag/v2.29.0): Error Prone 2.29.0 [Compare Source](https://github.com/google/error-prone/compare/v2.28.0...v2.29.0) New checks: - [`MissingRuntimeRetention`](https://errorprone.info/bugpattern/MissingRuntimeRetention) - [`SetUnrecognized`](https://errorprone.info/bugpattern/SetUnrecognized) - [`StatementSwitchToExpressionSwitch`](https://errorprone.info/bugpattern/StatementSwitchToExpressionSwitch) Closed issues: [#​4318](https://github.com/google/error-prone/issues/4318), [#​4429](https://github.com/google/error-prone/issues/4429), [#​4467](https://github.com/google/error-prone/issues/4467) Full Changelog: https://github.com/google/error-prone/compare/v2.28.0...v2.29.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. â™» **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
This library provides a GVariant parser in pure Java.
jgvariant-core provides Decoder<T>, which read a given type of GVariant-encoded value from a ByteBuffer. The class also contains factory methods to acquire those instances.
The various subclasses of Decoder together implement the GVariant serialization specification.
jgvariant-ostree provides instances of Decoder<T> for various GVariant types used in OSTree repositories.
To parse a GVariant value of type "a(si)", which is an array of pairs of String and int, you can use the following code:
record ExampleRecord(String s, int i) {}
var decoder =
Decoder.ofArray(
Decoder.ofStructure(
ExampleRecord.class,
Decoder.ofString(StandardCharsets.UTF_8),
Decoder.ofInt().withByteOrder(ByteOrder.LITTLE_ENDIAN)));
byte[] bytes = ...;
List<ExampleRecord> example = decoder.decode(ByteBuffer.wrap(bytes));
The jgvariant-tool module contains a tool called 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.
$ jgvariant ostree summary read ./jgvariant-ostree/src/test/resources/ostree/summary
Output:
{
"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
}
}
}
Superblock checksum 0..., between commits 3... and 6...:
$ jgvariant ostree summary add-static-delta ./jgvariant-ostree/src/test/resources/ostree/summary 03738040e28e7662e9c9d2599c530ea974e642c9f87e6c00cbaa39a0cdac8d44 66ff167ff35ce87daac817447a9490a262ee75f095f017716a6eb1a9d9eb3350 3d3b3329dca38871f29aeda1bf5854d76c707fa269759a899d0985c91815fe6f
Superblock checksum f..., between the empty commit and 3...:
$ jgvariant ostree summary add-static-delta ./jgvariant-ostree/src/test/resources/ostree/summary f481144629474bd88c106e45ac405ebd75b324b0655af1aec14b31786ae1fd61 31c8835d5c9d2c6687a50091c85142d1b2d853ff416a9fb81b4ee30754510d52
Checksums can be given in either hex (64 digits) or a variant of Base64 (43 digits) where / is replaced by _. The latter format is used to identify the start and end commits of deltas as part of folder names below deltas/ in the OSTree repository itself.
You can build the tool either as a shaded JAR or as a native executable.
To build and run a shaded JAR:
$ mvn package -pl jgvariant-tool -am -Pshade $ java -jar jgvariant-tool/target/jgvariant-tool-*.jar ...
To build and run a native executable:
$ mvn package -pl jgvariant-tool -am -Pnative $ ./jgvariant-tool/target/jgvariant ...
You can also run the tool directly with Maven using the exec profile:
$ mvn verify -pl jgvariant-tool -am -Pexec -Dexec.args="..."
<project>
...
<dependencyManagement>
...
<dependencies>
<dependency>
<groupId>eu.mulk.jgvariant</groupId>
<artifactId>jgvariant-bom</artifactId>
<version>0.1.8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
...
</dependencyManagement>
<dependencies>
...
<dependency>
<groupId>eu.mulk.jgvariant</groupId>
<artifactId>jgvariant-core</artifactId>
</dependency>
<dependency>
<groupId>eu.mulk.jgvariant</groupId>
<artifactId>jgvariant-ostree</artifactId>
</dependency>
...
</dependencies>
...
</project>
dependencies {
...
implementation(platform("eu.mulk.jgvariant:jgvariant-bom:0.1.8")
implementation("eu.mulk.jgvariant:jgvariant-core")
implementation("eu.mulk.jgvariant:jgvariant-ostree")
...
}