-
Notifications
You must be signed in to change notification settings - Fork 1
Installation
Add the repository and the recommended flavor (everydatabase-core), and you're done — every
backend works out of the box.
Gradle
repositories {
maven { url 'https://maven.petrus.dev/public' }
mavenCentral()
}
dependencies {
implementation 'br.com.finalcraft.everydatabase:everydatabase-core:1.0.4' // Only this one is necessary
// implementation 'br.com.finalcraft.everydatabase:everydatabase-manager:1.0.4' // Separated module to handle cache and references
}Maven
<repositories>
<repository>
<id>petrus-public</id>
<url>https://maven.petrus.dev/public</url>
</repository>
</repositories>
<dependency>
<groupId>br.com.finalcraft.everydatabase</groupId>
<artifactId>everydatabase-core</artifactId>
<version>1.0.4</version>
</dependency>Now jump to Quick Start for an end-to-end save/find, or Defining Entities to learn the descriptor.
| Flavor | Artifact | How deps reach you | Pick it when… |
|---|---|---|---|
| Core (recommended) | everydatabase-core |
normal POM dependencies | you control your build and want to override/exclude versions the normal way |
| Libby | everydatabase-libby |
downloaded at runtime via Libby | you want a tiny jar and are fine fetching the set at first launch |
The library with every backend dependency declared as a normal POM dependency. It works unmodified, and you keep full control through standard dependency management: upgrade, downgrade, or exclude any library by declaring your own. This is the only flavor where version overrides are possible — see the recipes on Dependency Versions & Overrides.
implementation 'br.com.finalcraft.everydatabase:everydatabase-core:1.0.4'A thin coordinator (package br.com.finalcraft.everydatabase.libby) that downloads the canonical,
non-relocated libraries at runtime. Bootstrap it before touching any storage class (e.g. in a
plugin's onLoad):
import br.com.finalcraft.everydatabase.libby.DependencyManager;
import br.com.finalcraft.everydatabase.libby.EveryDatabaseDependencies;
DependencyManager manager = new DependencyManager("MyPlugin", getDataFolder(), "libs");
EveryDatabaseDependencies.loadAll(manager); // then use Storages normally📌 Note —
everydatabase-libbyitself depends onnet.byteflux:libby-core, resolved fromhttps://repo.alessiodp.com/releases/. Add that repository to your build alongside the one above.
Typed references between entities and per-type caching live in a separate, optional artifact. Add both explicitly (the manager on top of a core flavor):
implementation 'br.com.finalcraft.everydatabase:everydatabase-manager:1.0.4'
implementation 'br.com.finalcraft.everydatabase:everydatabase-core:1.0.4'Maven:
<dependency>
<groupId>br.com.finalcraft.everydatabase</groupId>
<artifactId>everydatabase-manager</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>br.com.finalcraft.everydatabase</groupId>
<artifactId>everydatabase-core</artifactId>
<version>1.0.4</version>
</dependency>It's an extra feature layer — see Caching & References.
Everything runs on Java 8+. The published artifacts are Java 8 bytecode, and the default dependency versions are deliberately pinned to the last Java-8-compatible lines. If you run on Java 11+ and want newer majors (HikariCP 5.x, H2 2.x), override them with the core flavor — the specific version numbers and the override recipes live on Dependency Versions & Overrides.
- Quick Start — the minimal end-to-end example.
-
Defining Entities — describe an entity with
EntityDescriptor. - Distribution Flavors — the deep comparison: the POM scopes, the GPL note, libby bundles.
- Dependency Versions & Overrides — every version number, Java floors, and override recipes.
- Choosing a Backend — which engine to point your storage at.
EveryDatabase · Home · made by Petrus Pradella
Getting Started
Core Concepts
Working with Data
Backends
Manager Module
- Caching & References
- Typed References (Ref)
- Caching Managers
- Cache Policies & Freshness
- Cross-Process Cache Sync
- One Entity, Many Databases
Operations
Advanced
Reference
Contributing