Kryo 5.x serializers for various "tommyettinger libraries"
APACHE-2.0 License
Kryo 5.x serializers for various libGDX-related libraries.
This lets Kryo 5.x (currently 5.6.2) de/serialize objects from RegExodus, digital, jdkgdxds, juniper, cringe, gand, and simple-graphs. All of these but simple-graphs are maintained by tommyettinger, who also maintains this serialization library.
You may want to consider using Fury serialization instead of Kryo, since it sometimes doesn't need these kinds of manual serializer, and is faster than Kryo in most benchmarks. It isn't as mature of a project, but it's being incubated by the Apache Foundation, and is developing quickly. If you do use Fury, you can get manual serializers (when they are needed) from kryo-more's relative project, tantrum.
Each sub-library has its own version, linked to the version of the library it de/serializes. The last component of the version is usually .0, but can be increased for bug-fixes to the same linked library version, or if Kryo itself had a (compatible) update available but the linked library did not have an update.
PointI3
is unusable for serialization with Kryo.All of these sub-libraries depend on Java 8 or higher, except for kryo-regexodus (which depends on Java 7 or higher) and some older versions of kryo-digital and kryo-juniper.
Gradle dependency info:
kryo-regexodus:
implementation "com.github.tommyettinger:kryo-regexodus:0.1.16.1"
kryo-digital:
implementation "com.github.tommyettinger:kryo-digital:0.5.2.1"
kryo-jdkgdxds:
implementation "com.github.tommyettinger:kryo-jdkgdxds:`1.6.5.1`"
kryo-juniper:
implementation "com.github.tommyettinger:kryo-juniper:0.6.1.1"
kryo-cringe:
implementation "com.github.tommyettinger:kryo-cringe:0.1.1.2"
kryo-gand:
implementation "com.github.tommyettinger:kryo-gand:0.1.1.1"
kryo-simple-graphs:
implementation "com.github.tommyettinger:kryo-simple-graphs:3.0.0.1"
Maven dependency info:
kryo-regexodus:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-regexodus</artifactId>
<version>0.1.16.1</version>
</dependency>
kryo-digital:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-digital</artifactId>
<version>0.5.2.1</version>
</dependency>
kryo-jdkgdxds:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-jdkgdxds</artifactId>
<version>1.6.5.1</version>
</dependency>
kryo-juniper:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-juniper</artifactId>
<version>0.6.1.1</version>
</dependency>
kryo-cringe:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-cringe</artifactId>
<version>0.1.1.2</version>
</dependency>
kryo-gand:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-gand</artifactId>
<version>0.1.1.1</version>
</dependency>
kryo-simple-graphs:
<dependency>
<groupId>com.github.tommyettinger</groupId>
<artifactId>kryo-simple-graphs</artifactId>
<version>3.0.0.1</version>
</dependency>
GWT is not supported because Kryo doesn't support it. You can use libGDX Json on GWT; except for simple-graphs, cringe,
and gand, all the libraries here are supported by jdkgdxds-interop with Json. You can just use cringe and gand
with libGDX Json natively, since they have classes that implement Json.Serializable
.
Apache 2.0, see the LICENSE file.