Common classes for java, independent from other libraries
Go to file
Johannes Frohnmeyer 1a09294690
ci/woodpecker/push/woodpecker Pipeline was successful Details
fix(serialize-databind): support custom map subtypes and collections
2024-04-25 15:07:40 +02:00
buildSrc feat: replace commons-logging with slf4j-based commons-logger and use type-safe dependency DSLs 2024-03-09 12:37:38 +01:00
commons fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-bom feat: add version catalog and bom 2024-04-22 11:11:10 +02:00
commons-catalog feat: add version catalog and bom 2024-04-22 11:11:10 +02:00
commons-gson feat(serialize): implement data binding 2024-04-12 20:04:15 +02:00
commons-http-client feat(serialize): implement data binding 2024-04-12 20:04:15 +02:00
commons-http-server fix(http-server): Additional null check to fix an issue in native-image 2024-04-21 00:26:25 +02:00
commons-io feat(serialize): implement data binding 2024-04-12 20:04:15 +02:00
commons-logger fix(logger): Mention logger finder in module-info 2024-04-20 22:08:22 +02:00
commons-manifold feat: replace commons-logging with slf4j-based commons-logger and use type-safe dependency DSLs 2024-03-09 12:37:38 +01:00
commons-serialize fix(serialize): prevent unnecessary popping from stack when reading legal number 2024-04-24 17:42:41 +02:00
commons-serialize-databind fix(serialize-databind): support custom map subtypes and collections 2024-04-25 15:07:40 +02:00
commons-serialize-databind-api fix(serialize-generator): A large number of fixes for incorrectly carried over gson stuff 2024-04-18 20:54:36 +02:00
commons-serialize-databind-sql fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-serialize-dsl fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-serialize-generator feat(serialize-generator): support alternate names in @SerializedName 2024-04-24 20:25:12 +02:00
commons-serialize-generator-annotations feat(serialize): Initial work on porting gson-compile 2024-04-17 12:56:06 +02:00
commons-serialize-generator-core feat(serialize-generator): support @Ignore annotation 2024-04-23 22:27:39 +02:00
commons-serialize-json fix(serialize-json): allow singular name at document root 2024-04-20 16:39:18 +02:00
commons-serialize-xml fix(serialize-xml): Don't require ending semicolon of reference when lenient in NativeXmlReader 2024-04-20 23:18:24 +02:00
commons-unsafe docs(unsafe): Document commons-unsafe 2024-03-09 14:08:27 +01:00
gradle feat(serialize): Initial work on porting gson-compile 2024-04-17 12:56:06 +02:00
muscript chore(muscript): delete old implementation keeping redirects in place for docs 2024-04-07 17:25:47 +02:00
muscript-all fix(muscript-all): don't export dependency on modules 2024-04-24 20:41:10 +02:00
muscript-ast style(muscript-optimizer): split out optimization of inner expressions to permit approach based exclusively on pattern matching 2024-04-20 18:17:50 +02:00
muscript-core feat(muscript): port over DirectPreconditionVisitor implicitly 2024-04-07 15:55:45 +02:00
muscript-data-additional fix(muscript): actually export standard lib 2024-04-07 17:18:03 +02:00
muscript-data-dynamic fix(muscript): disable formatting for intentional exceptions 2024-04-07 17:17:53 +02:00
muscript-gson feat(muscript-gson): rename to muscript-json and port to commons-serialize-json 2024-04-12 21:19:36 +02:00
muscript-json fix(serialize-generator): Patch leftovers 2024-04-18 21:42:57 +02:00
muscript-optimizer style(muscript-optimizer): replace conditionals with guarded patterns 2024-04-20 18:19:51 +02:00
muscript-parser fix(muscript): handle "this" correctly 2024-04-07 17:18:23 +02:00
muscript-runtime feat(muscript-gson): rename to muscript-json and port to commons-serialize-json 2024-04-12 21:19:36 +02:00
muscript-serialize fix(muscript): correct muscript-serialize module info 2024-04-07 17:16:44 +02:00
.gitignore 0.1.0 2022-04-28 20:52:32 +02:00
.woodpecker.yml feat: update to JDK 21 2024-04-03 17:28:40 +02:00
README.md feat: add version catalog and bom 2024-04-22 11:11:10 +02:00
build.gradle.kts feat: update to JDK 21 2024-04-03 17:28:40 +02:00
settings.gradle.kts feat: add version catalog and bom 2024-04-22 11:11:10 +02:00

README.md

JfCommons

Common code for my java projects. Uses my common build scripts.

Modules

  • commons: Common java code without a major theme or external dependencies
  • commons-io: Utility classes for caching, hashing, reading json, opening archives, etc.
  • commons-http-client: A simple http client
  • commons-http-server: A simple http server based on JLHTTP

Serialization

  • commons-serialize: Provides the framework for serialization and deserialization. Describes SerializeWriter, SerializeReader, Transport and related classes.
  • commons-serialize-dsl: Provides a Kotlin DSL for serialization and deserialization wrapping commons-serialize
  • commons-serialize-json: Provides a json implementation for commons-serialize
  • commons-serialize-xml: Provides an xml implementation for commons-serialize
  • commons-serialize-databind: Provides data binding inspired by Gson for commons-serialize
  • commons-serialize-databind-api: Provides a thin API around commons-serialize-databind for use in other libraries that don't want to depend on commons-serialize-databind directly
  • commons-serialize-databind-sql: Provides TypeAdapters for SQL types for commons-serialize-databind (separate module because of the dependency on java.sql)
  • commons-serialize-generator-core: Provides a common core for annotation processors that generate serializers and deserializers. Not directly dependent on commons-serialize, as it is also used in libjf-config.
  • commons-serialize-generator-annotations: Provides the annotations used to configure commons-serialize-generator
  • commons-serialize-generator: Provides an annotation processor for generating serializers and deserializers for commons-serialize

muScript

(muscript is a simple scripting language, see here for more information

  • muscript-all: Non-JPMS module shadowing the parser, serializer, optimizer, runtime, and data modules.
  • muscript-core: Core classes for muscript. Required by all other muscript modules.
  • muscript-ast: Implements the AST for muscript as algebraic data types. Contains no logic.
  • muscript-data-dynamic: Implements the dynamic data model for muscript.
  • muscript-data-additional: Implements additional data types for muscript, including the standard library.
  • muscript-parser: Implements the parser for muscript. Originally based on StarScript, it also provides conversion from code targeting that.
  • muscript-serialize: Implements a Decompiler for muscript. It is called this because it can be used to serialize Dynamic data.
  • muscript-optimizer: Implements a simple optimizer for muscript. Entirely optional.
  • muscript-runtime: Implements a runtime for muscript, based on muscript-data-dynamic for runtime data representation but with optimizations for typed expressions.
  • muscript-json: Glue code for manipulating json with muscript

Interop

  • commons-logger: A simple logging framework for System.Logger supporting hot reloading and slightly improved APIs
  • commons-manifold: Some common code using the features of manifold-ext. Mainly extension classes.
  • commons-gson: Provides some utility classes around my fork of gson and an implementation of the Serializer interface
  • commons-unsafe: Provides wrappers around sun.misc.Unsafe and the LambdaMetaFactory
  • commons-bom: A maven BOM to make using multiple modules easier
  • commons-catalog: A gradle version catalog to make using multiple modules easier