lightweight-storage

⭐ 0 Stars
🍴 0 Forks
πŸ›  Java
πŸ•’ 12/21/2025

lightweight storage system inspired by old storage library

πŸ“¦ Lightweight-Storage

Lightweight-Storage is a lightweight storage system inspired by legacy storage libraries. This project is organized as a multi-module Gradle project with several specific distributions (e.g., for Bukkit, Redis, and Mongo), aiming to provide a simple and flexible alternative for handling storage in Java.

🧱 Project Structure

The repository is divided into multiple independent modules:

lightweight-storage
β”œβ”€β”€ api                # Core API
β”œβ”€β”€ api-codec          # Codec utilities for the API
β”œβ”€β”€ bukkit-yaml-dist   # Bukkit YAML distribution
β”œβ”€β”€ mongo-legacy-dist  # Legacy MongoDB distribution
β”œβ”€β”€ redis-dist         # Redis distribution
β”œβ”€β”€ buildSrc           # Shared build logic
β”œβ”€β”€ gradle             # Gradle scripts and configuration
β”œβ”€β”€ gradlew*           # Gradle wrapper
β”œβ”€β”€ settings.gradle.kts
└── gradle.properties

πŸš€ Features

  • Modular β€” each distribution can be used independently.
  • Written in Java/Kotlin with support for multiple storage backends.
  • Compatible with projects using Gradle as the build system.
  • Ideal for projects requiring lightweight storage without heavy dependencies.

πŸ’‘ All modules are built from the develop branch; no official releases yet.

🧠 Requirements

To build and use this project, you need:

  • Java 8 or higher
  • Gradle 8.x or higher

βš™οΈ Building the Project

Clone the repository and build with Gradle:

git clone https://github.com/alexissdev/lightweight-storage.git
cd lightweight-storage
./gradlew build

./gradlew publishToMavenLocal /*  optional from publish all modules * /

This will compile all modules and generate the corresponding JARs.

πŸ“¦ Using the Modules via Maven Local

Each module can be consumed as a Gradle dependency after publishing it to your local Maven repository.

Steps:

  1. Build and publish the module locally:
./gradlew :<module-name>:publishToMavenLocal

Replace <module-name> with the desired module, e.g., api, bukkit-yaml-dist, etc.

  1. Add mavenLocal() to your consuming project’s repositories block:
repositories {
    mavenLocal()
    mavenCentral()
}
  1. Add the dependency in your build.gradle.kts:
dependencies {
    implementation("com.alexissdev:<module-name>:VERSION")
}

Replace <module-name> and VERSION with the module name and version you published locally.

πŸ§ͺ Running Tests

If the modules include tests, run them with:

./gradlew test

πŸ›  Contributing

Contributions are welcome!

  1. Fork the repository.
  2. Create a branch for your feature or fix.
  3. Submit a Pull Request from your fork to the develop branch.