Mango-Utils is a free, open-source collection of lightweight Java utility classes—ranging from simple I/O helpers to secure password hashing and configurable log management.
To use Mango-Utils as a standalone dependency:
- Clone the repository locally.
- Build the project using your preferred method (
mvn package,gradle build, etc.). - Add the generated JAR file to your classpath.
Add the JitPack repository to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>Then add the dependency:
<dependency>
<groupId>com.github.redstonemango</groupId>
<artifactId>mango-utils</artifactId>
<version>VERSION</version>
</dependency>Replace VERSION with the newest release version of Mango-Utils:
In your settings.gradle (if using version catalog or dependency management):
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}Then add the dependency to your build.gradle:
dependencies {
implementation 'com.github.redstonemango:mango-utils: VERSION'
}Replace VERSION with the newest release version of Mango-Utils:
You may also directly copy specific utility classes into your own project, as long as you:
- Keep the copyright notice at the top of the file.
- Follow the terms of the MIT License.
| Utility | Description |
|---|---|
Tri-Interfaces |
Functional interfaces (such as Consumer, Function, and Predicate) supporting three arguments, consistent with existing Java conventions. |
Tuples |
Immutable Tuple2 and Tuple3 classes capable of storing two or three values, each potentially of a different type. |
MangoIO |
Handy I/O utilities like recursive directory deletion. |
NameConverter |
Converts names written in different naming conventions (e.g., camelCase, snake_case) from one convention to the other. |
SemanticVersion |
Compare and sort semantic versions (e.g., 1.2.0 vs 1.10.0). Useful for dependency versioning. |
CliArg |
Parses command-line arguments (flags, keys, values, etc.) from String[] or raw input strings. |
LogManager |
Customizable logging utility that redirects system output, styles console messages, and manages log files. |
OperatingSystem |
A safe and cross-platform alternative to java.awt.Desktop's open and browse methods. Also including OS detection, config path helpers, and event normalization. |
- 🛠️ Simple and modular design
- 📦 Easy integration with Maven and Gradle
- 💡 Utility classes that fill common gaps in the Java standard library
- 🔄 Actively maintained and tested across real-world projects
This project is licensed under .
You may use the project as long as you follow the terms of that very license.
Suggestions, issues, and pull requests are welcome! Feel free to open a discussion or submit a PR to contribute.