Installation

Table of contents

  1. Requirements
  2. Maven
    1. 1. Add the JitPack repository
    2. 2. Add the dependency
    3. Optional — Jaker (factory fixtures)
  3. Gradle (Kotlin DSL)
    1. 1. Add the JitPack repository
    2. 2. Add the dependency
  4. GitHub Packages
  5. Transitive dependencies
  6. Verifying the installation

Requirements

Requirement Minimum version
Java 25
Build tool Maven 3.8+ or Gradle 8+
(Optional) Jaker 1.0.0 — only required for the Factory<T> API

Maven

1. Add the JitPack repository

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

2. Add the dependency

<dependency>
  <groupId>com.github.EzFramework</groupId>
  <artifactId>jaloquent</artifactId>
  <version>1.0.5</version>
</dependency>

Optional — Jaker (factory fixtures)

<dependency>
  <groupId>com.github.EzFramework</groupId>
  <artifactId>jaker</artifactId>
  <version>1.0.0</version>
</dependency>

Gradle (Kotlin DSL)

1. Add the JitPack repository

repositories {
    maven("https://jitpack.io")
}

2. Add the dependency

dependencies {
    implementation("com.github.EzFramework:jaloquent:1.0.5")
}

GitHub Packages

Jaloquent is also published to GitHub Packages. To consume it from there, authenticate with a personal access token that has read:packages scope.

~/.m2/settings.xml:

<servers>
  <server>
    <id>github</id>
    <username>YOUR_GITHUB_USERNAME</username>
    <password>YOUR_GITHUB_PAT</password>
  </server>
</servers>

pom.xml:

<repositories>
  <repository>
    <id>github</id>
    <url>https://maven.pkg.github.com/EzFramework/Jaloquent</url>
  </repository>
</repositories>

Transitive dependencies

Artifact Version Purpose
EzFramework/JavaQueryBuilder 1.0.4 SQL query builder — always required
slf4j-api 2.0.13 Logging facade — always required
logback-classic 1.5.6 Default logging implementation
micrometer-core 1.12.5 Metrics facade
micrometer-registry-prometheus 1.12.5 Prometheus metrics export

Micrometer and Logback are included for convenience but are opt-in at runtime. Set JaloquentConfig.enableLogging(false) and JaloquentConfig.enableMetrics(false) to disable their overhead if you supply your own implementations.


Verifying the installation

Add this snippet to a test class after setup — it should compile and run without errors:

import com.github.ezframework.jaloquent.model.Model;
import com.github.ezframework.jaloquent.model.ModelRepository;
import com.github.ezframework.jaloquent.store.DataStore;

// ... your store implementation ...

ModelRepository<MyModel> repo = new ModelRepository<>(
    myStore, "prefix", (id, data) -> new MyModel(id)
);
System.out.println("Jaloquent is wired correctly.");