Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
[![Latest Snapshot](https://img.shields.io/maven-central/v/com.graphql-java/java-dataloader?label=maven-central%20snapshot&versionPrefix=0)](https://maven-badges.herokuapp.com/maven-central/com.graphql-java/graphql-java/)
[![Apache licensed](https://img.shields.io/hexpm/l/plug.svg?maxAge=2592000)](https://github.com/graphql-java/java-dataloader/blob/master/LICENSE)

This small and simple utility library is a pure Java 11 port of [Facebook DataLoader](https://github.com/facebook/dataloader).
This small and simple utility library is a pure Java port of [Facebook DataLoader](https://github.com/facebook/dataloader).

The current development version requires Java 17 or later to run.

It can serve as integral part of your application's data layer to provide a
consistent API over various back-ends and reduce message communication overhead through batching and caching.
Expand All @@ -16,7 +18,7 @@ are resolved independently and, with a true graph of objects, you may be fetchin
A naive implementation of graphql data fetchers can easily lead to the dreaded "n+1" fetch problem.

Most of the code is ported directly from Facebook's reference implementation, with one IMPORTANT adaptation to make
it work for Java 11. ([more on this below](#manual-dispatching)).
it work for Java. ([more on this below](#manual-dispatching)).

Before reading on, be sure to take a short dive into the
[original documentation](https://github.com/facebook/dataloader/blob/master/README.md) provided by Lee Byron (@leebyron)
Expand Down Expand Up @@ -74,7 +76,7 @@ dependencies {

### Building

To build from source use the Gradle wrapper:
Building from source uses a JDK 21 toolchain. Use the Gradle wrapper:

```
./gradlew clean build
Expand Down Expand Up @@ -834,10 +836,10 @@ This library was originally written for use within a [VertX world](http://vertx.
itself. All the heavy lifting has been done by this project : [vertx-dataloader](https://github.com/engagingspaces/vertx-dataloader)
including the extensive testing (which itself came from Facebook).

This particular port was done to reduce the dependency on Vertx and to write a pure Java 11 implementation with no dependencies and also
This particular port was done to reduce the dependency on Vertx and to write a pure Java implementation with no dependencies and also
to use the more normative Java CompletableFuture.

[vertx-core](http://vertx.io/docs/vertx-core/java/) is not a lightweight library by any means so having a pure Java 11 implementation is
[vertx-core](http://vertx.io/docs/vertx-core/java/) is not a lightweight library by any means so having a pure Java implementation is
very desirable.


Expand Down
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ kotlin {
compilerOptions {
apiVersion = KotlinVersion.KOTLIN_2_0
languageVersion = KotlinVersion.KOTLIN_2_0
jvmTarget = JvmTarget.JVM_11
jvmTarget = JvmTarget.JVM_17
javaParameters = true
freeCompilerArgs = [
'-Xemit-jvm-type-annotations',
Expand All @@ -59,7 +59,7 @@ def getDevelopmentVersion() {
def releaseVersion = System.env.RELEASE_VERSION
version = releaseVersion ? releaseVersion : getDevelopmentVersion()
group = 'com.graphql-java'
description = 'A pure Java 11 port of Facebook Dataloader'
description = 'A pure Java 17 port of Facebook Dataloader'

gradle.buildFinished { buildResult ->
println "*******************************"
Expand Down Expand Up @@ -108,7 +108,7 @@ dependencies {
}

tasks.withType(JavaCompile) {
options.release = 11
options.release = 17
options.errorprone {
disableAllChecks = true
check("NullAway", CheckSeverity.ERROR)
Expand Down Expand Up @@ -187,7 +187,7 @@ publishing {
asNode().children().last() + {
resolveStrategy = Closure.DELEGATE_FIRST
name 'java-dataloader'
description 'A pure Java 11 port of Facebook Dataloader'
description project.description
url 'https://github.com/graphql-java/java-dataloader'
inceptionYear '2017'

Expand Down
Loading