https://github.com/bkahlert/kommons
Kommons is a set of Kotlin Multiplatform Libraries (MPP) to allow the execution of command lines / scripts, to support print debugging and to ease testing.
https://github.com/bkahlert/kommons
command-line java kaomoji kotlin logger logging shellscript time unicode
Last synced: 2 months ago
JSON representation
Kommons is a set of Kotlin Multiplatform Libraries (MPP) to allow the execution of command lines / scripts, to support print debugging and to ease testing.
- Host: GitHub
- URL: https://github.com/bkahlert/kommons
- Owner: bkahlert
- License: mit
- Created: 2020-12-20T10:42:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-19T07:44:03.000Z (over 1 year ago)
- Last Synced: 2026-01-13T04:16:03.078Z (5 months ago)
- Topics: command-line, java, kaomoji, kotlin, logger, logging, shellscript, time, unicode
- Language: Kotlin
- Homepage:
- Size: 27.6 MB
- Stars: 21
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README

# Kommons [](https://search.maven.org/search?q=g:com.bkahlert.kommons%20AND%20a:kommons) [](https://github.com/bkahlert/kommons/releases/latest) [](https://github.com/bkahlert/kommons/actions/workflows/build.yml) [](https://github.com/bkahlert/kommons) [](https://github.com/bkahlert/kommons/blob/master/LICENSE)
## About
**Kommons** is a family of the following Kotlin—most of them multiplatform libraries:
- [Kommons BOM](kommons-bom) … Bill of Materials
- **[Kommons Core](kommons-core) … for runtime information, simple byte and string operations**
- **[Kommons Debug](kommons-debug) … for print debugging**
- **[Kommons Exec](kommons-exec) … to execute command lines and shell scripts**
- **[Kommons IO](kommons-io) … for simpler IO handling on the JVM**
- [Kommons Kaomoji](kommons-kaomoji) … Japanese style emoticon constants
- [Kommons Logging](kommons-logging) … for simple logging *(only **logging-core** included by default)*
- [Kommons Test](kommons-test) … to ease testing
- **[Kommons Text](kommons-text) … for Unicode-aware text operations**
- [Kommons Time](kommons-time) … [KotlinX multiplatform date/time library](https://github.com/Kotlin/kotlinx-datetime) extension
- **[Kommons URI](kommons-uri) … for handling (Data) URIs**
The modules in **bold** are included in the `Kommons` module.
The other modules need to be added individually to use them.
## Installation / Setup
This library is hosted on GitHub with releases provided on Maven Central.
To use a module individually, see the corresponding instructions linked in [About](#about).
The following dependency adds the `core`, `debug`, `exec`, `io`, `logging-core`, `text`, and `uri` module:
* **Gradle** `implementation("com.bkahlert.kommons:kommons:2.8.0")`
* **Maven**
```xml
com.bkahlert.kommons
kommons
2.8.0
```
Please read the corresponding documentation for instructions on how to use them.
## Development
### Project structure
The project is structured as follows:
- [kommons-*](kommons-core) … feature modules
- [kommons](kommons) … umbrella module with dependencies to all feature modules
- [kommons-bom](kommons-bom) … bill of materials, that is, a POM file that lists all modules and their versions
- [buildSrc](buildSrc) … custom build logic
## Contributing
Want to contribute?
Awesome!
The most basic way to show your support is to star the project or to raise issues.
You can also support this project by making a [PayPal donation](https://www.paypal.me/bkahlert) to ensure this journey continues indefinitely!
Thanks again for your support, it's much appreciated! :pray:
## License
MIT. See [LICENSE](LICENSE) for more details.