Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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 (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-19T07:44:03.000Z (5 months ago)
- Last Synced: 2024-10-17T12:24:04.078Z (4 months ago)
- Topics: command-line, java, kaomoji, kotlin, logger, logging, shellscript, time, unicode
- Language: Kotlin
- Homepage:
- Size: 27.6 MB
- Stars: 18
- Watchers: 3
- 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 — Logo](docs/kommons-header.svg)
# Kommons [![Download from Maven Central](https://img.shields.io/maven-central/v/com.bkahlert.kommons/kommons?color=FFD726&label=Maven%20Central&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BCjxnPgoJPGRlZnM%2BCgkJPHBhdGggaWQ9IlNWR0lEXzFfIiBkPSJNMTAxLjcsMzQ1LjJWMTY3TDI1Niw3Ny45TDQxMC40LDE2N3YxNzguMkwyNTYsNDM0LjNMMTAxLjcsMzQ1LjJ6IE0yNTYsNkwzOS42LDEzMS4ydjI0OS45TDI1Niw1MDYKCQkJbDIxNi40LTEyNC45VjEzMS4yTDI1Niw2eiIvPgoJPC9kZWZzPgoJPHVzZSB4bGluazpocmVmPSIjU1ZHSURfMV8iICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZTtmaWxsOiNGRkZGRkY7Ii8%2BCgk8Y2xpcFBhdGggaWQ9IlNWR0lEXzJfIj4KCQk8dXNlIHhsaW5rOmhyZWY9IiNTVkdJRF8xXyIgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlOyIvPgoJPC9jbGlwUGF0aD4KPC9nPgo8L3N2Zz4K)](https://search.maven.org/search?q=g:com.bkahlert.kommons%20AND%20a:kommons) [![Download from GitHub Packages](https://img.shields.io/github/v/release/bkahlert/kommons?color=69B745&label=GitHub&logo=GitHub&logoColor=fff&style=round)](https://github.com/bkahlert/kommons/releases/latest) [![Build Status](https://img.shields.io/github/actions/workflow/status/bkahlert/kommons/build.yml?label=Build&logo=github&logoColor=fff)](https://github.com/bkahlert/kommons/actions/workflows/build.yml) [![Repository Size](https://img.shields.io/github/repo-size/bkahlert/kommons?color=01818F&label=Repo%20Size&logo=Git&logoColor=fff)](https://github.com/bkahlert/kommons) [![Repository Size](https://img.shields.io/github/license/bkahlert/kommons?color=29ABE2&label=License&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OTAgNTkwIiAgeG1sbnM6dj0iaHR0cHM6Ly92ZWN0YS5pby9uYW5vIj48cGF0aCBkPSJNMzI4LjcgMzk1LjhjNDAuMy0xNSA2MS40LTQzLjggNjEuNC05My40UzM0OC4zIDIwOSAyOTYgMjA4LjljLTU1LjEtLjEtOTYuOCA0My42LTk2LjEgOTMuNXMyNC40IDgzIDYyLjQgOTQuOUwxOTUgNTYzQzEwNC44IDUzOS43IDEzLjIgNDMzLjMgMTMuMiAzMDIuNCAxMy4yIDE0Ny4zIDEzNy44IDIxLjUgMjk0IDIxLjVzMjgyLjggMTI1LjcgMjgyLjggMjgwLjhjMCAxMzMtOTAuOCAyMzcuOS0xODIuOSAyNjEuMWwtNjUuMi0xNjcuNnoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxOS4yMTIiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4%3D)](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.