
Modular collection of utilities simplifying Java development: extension functions and DSLs for core tasks, JSON navigation, HTTP client/server enhancements, metrics/tracing DSLs, persistence, scripting and security helpers.
A collection of utility libraries for Kotlin and Java development.
This repository contains a modular collection of utility libraries designed to simplify and enhance Kotlin and Java development. Each module focuses on a specific domain or framework, providing extension functions, DSLs, and utility classes that reduce boilerplate code and improve developer productivity.
Three modules — core-utils, json-utils, and ktor-client-utils — are built with
Kotlin Multiplatform and can be used from JVM, JS, wasmJs, and
Native (iOS/macOS/tvOS/watchOS/Linux/Windows) projects. Their portable APIs live in commonMain; JVM-specific
functions (e.g. hashing, URL codecs, classpath resources) remain available to JVM consumers unchanged via jvmMain.
The remaining modules are JVM-only, as they integrate JVM-specific frameworks.
Fundamental utility functions and extensions for common programming tasks.
DateUtils), zone-neutral by defaultUtilities for Dropwizard Metrics integration.
Enhancements for JetBrains Exposed SQL framework.
gRPC server and client utilities.
Google Guava integration and extensions.
Jetty 12 (EE11) web server integration utilities.
Ktor HTTP client enhancements.
Ktor server-side utilities.
JSON processing utilities with Kotlinx.serialization.
Prometheus metrics integration.
Zipkin distributed tracing utilities.
Redis client utilities and extensions.
Common base classes and interfaces for scripting engines.
JavaScript engine integration.
Kotlin script engine integration.
Python (Jython) script engine integration.
Email sending utilities using Resend.
Google reCAPTCHA verification utilities.
Service lifecycle and configuration management.
This library is available on Maven Central.
dependencies {
// Include specific modules as needed
implementation("com.pambrose.common-utils:core-utils:3.2.0")
implementation("com.pambrose.common-utils:json-utils:3.2.0")
implementation("com.pambrose.common-utils:ktor-server-utils:3.2.0")
// ... other modules
}For the multiplatform modules (core-utils, json-utils, ktor-client-utils), Maven consumers must
depend on the -jvm artifact (e.g. core-utils-jvm); Gradle consumers resolve the correct variant from the
root coordinate automatically. The JVM-only modules keep their plain artifact ids.
<dependencies>
<dependency>
<groupId>com.pambrose.common-utils</groupId>
<artifactId>core-utils-jvm</artifactId>
<version>3.2.0</version>
</dependency>
<!-- Add other modules as needed -->
</dependencies># Show every available make target with descriptions
make help
# Build all modules
./gradlew build
# Build without tests
make build
# Run tests
./gradlew test
# Run tests for a specific module
./gradlew :core-utils:test
# Lint check (Kotlinter + Detekt)
make lint
# Detekt static analysis only
make detekt
# Aggregated Kover coverage reports (HTML + XML)
make coverageThis project maintains high code quality standards:
config/detekt/)build.gradle.kts
settings.gradle.kts
README.md
com.pambrose.common.*
Contributions are welcome! Please:
Licensed under the Apache License, Version 2.0. See License.txt for details.
For questions, issues, or contributions, please use the GitHub issue tracker.
A collection of utility libraries for Kotlin and Java development.
This repository contains a modular collection of utility libraries designed to simplify and enhance Kotlin and Java development. Each module focuses on a specific domain or framework, providing extension functions, DSLs, and utility classes that reduce boilerplate code and improve developer productivity.
Three modules — core-utils, json-utils, and ktor-client-utils — are built with
Kotlin Multiplatform and can be used from JVM, JS, wasmJs, and
Native (iOS/macOS/tvOS/watchOS/Linux/Windows) projects. Their portable APIs live in commonMain; JVM-specific
functions (e.g. hashing, URL codecs, classpath resources) remain available to JVM consumers unchanged via jvmMain.
The remaining modules are JVM-only, as they integrate JVM-specific frameworks.
Fundamental utility functions and extensions for common programming tasks.
DateUtils), zone-neutral by defaultUtilities for Dropwizard Metrics integration.
Enhancements for JetBrains Exposed SQL framework.
gRPC server and client utilities.
Google Guava integration and extensions.
Jetty 12 (EE11) web server integration utilities.
Ktor HTTP client enhancements.
Ktor server-side utilities.
JSON processing utilities with Kotlinx.serialization.
Prometheus metrics integration.
Zipkin distributed tracing utilities.
Redis client utilities and extensions.
Common base classes and interfaces for scripting engines.
JavaScript engine integration.
Kotlin script engine integration.
Python (Jython) script engine integration.
Email sending utilities using Resend.
Google reCAPTCHA verification utilities.
Service lifecycle and configuration management.
This library is available on Maven Central.
dependencies {
// Include specific modules as needed
implementation("com.pambrose.common-utils:core-utils:3.2.0")
implementation("com.pambrose.common-utils:json-utils:3.2.0")
implementation("com.pambrose.common-utils:ktor-server-utils:3.2.0")
// ... other modules
}For the multiplatform modules (core-utils, json-utils, ktor-client-utils), Maven consumers must
depend on the -jvm artifact (e.g. core-utils-jvm); Gradle consumers resolve the correct variant from the
root coordinate automatically. The JVM-only modules keep their plain artifact ids.
<dependencies>
<dependency>
<groupId>com.pambrose.common-utils</groupId>
<artifactId>core-utils-jvm</artifactId>
<version>3.2.0</version>
</dependency>
<!-- Add other modules as needed -->
</dependencies># Show every available make target with descriptions
make help
# Build all modules
./gradlew build
# Build without tests
make build
# Run tests
./gradlew test
# Run tests for a specific module
./gradlew :core-utils:test
# Lint check (Kotlinter + Detekt)
make lint
# Detekt static analysis only
make detekt
# Aggregated Kover coverage reports (HTML + XML)
make coverageThis project maintains high code quality standards:
config/detekt/)build.gradle.kts
settings.gradle.kts
README.md
com.pambrose.common.*
Contributions are welcome! Please:
Licensed under the Apache License, Version 2.0. See License.txt for details.
For questions, issues, or contributions, please use the GitHub issue tracker.