A collection of high-quality Kotlin utility modules designed for common development tasks, including cryptography, data sizes, functional effects, robust error handling, and more.
| Module | Description | Version | Dependencies |
|---|---|---|---|
bytearray |
Utility functions for simplified ByteArray operations (hex, padding). |
2.0.0 | None |
crypto |
High-level cryptographic utilities (Argon2, HMAC, secure data handling). | 2.0.0 | bytearray, datasizes, outcome, bouncycastle |
datasizes |
Type-safe data size constants and conversions (Binary and Decimal). | 2.0.0 | None |
effect |
Functional side-effect management (Effect, IO, coroutines support). |
2.0.0 | outcome, kotlinx-coroutines |
ignore |
Annotation to mark elements to be ignored by processors or readers. | 2.0.0 | None |
io |
Efficient IO and file system utilities powered by Okio. | 2.0.0 | serialization, outcome, okio, kotlinx-serialization |
outcome |
Type-safe Success/Failure result handling for robust error management. |
2.1.0 | None |
serialization |
Kotlin Serialization extensions and common serializers. | 2.1.0 | outcome, kotlinx-serialization, kotlin-reflect |
[ktor-client](ktor/README.md |
Ktor helper | 1.0.0 | ktor |
To use any of these modules, add the corresponding dependency to your project. Replace <module> with the module name
and <version> with the latest version (e.g., 2.0.0).
Gradle (Kotlin)
implementation("dev.mtctx.library:utilities-<module>:<version>")Gradle (Groovy)
implementation 'dev.mtctx.library:utilities-<module>:<version>'Maven
<dependency>
<groupId>dev.mtctx.library</groupId>
<artifactId>utilities-<module></artifactId>
<version><version></version>
</dependency>Ivy
<dependency org="dev.mtctx.library" name="utilities-<module>" rev="<version>"/>sbt
libraryDependencies += "dev.mtctx.library" % "utilities-<module>" % "<version>"Leiningen
[dev.mtctx.library/utilities-<module> "<version>"]To implement a new module in this repository, follow these guidelines:
- Naming: Use a concise, lowercase name for the module directory.
- Structure: Follow the standard Gradle/Kotlin project structure:
src/main/kotlin/dev/mtctx/utilities/<module-name>/. - Gradle Configuration:
- Use the convention plugins for Dokka and Publishing.
- Set the
archivesNamein thebaseblock. - Define the
versionandgroup(should bedev.mtctx.utilities).
- Documentation: Each module should have a
README.mdand KDoc for public APIs. - Testing: Include unit tests for all public functionality in
src/test/kotlin.