# # spec file for package java-dataloader # # Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: java-dataloader Version: 3.2.0 Release: 0 Summary: A Java 8 port of Facebook DataLoader License: Apache-2.0 Group: Development/Libraries/Java URL: https://github.com/graphql-java/%{name} Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://repo1.maven.org/maven2/com/graphql-java/%{name}/%{version}/%{name}-%{version}.pom BuildRequires: fdupes BuildRequires: maven-local BuildArch: noarch %description This small and simple utility library is a pure Java 8 port of Facebook DataLoader. 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. An important use case for java-dataloader is improving the efficiency of GraphQL query execution. Graphql fields are resolved independently and, with a true graph of objects, you may be fetching the same object many times. 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 8. %package javadoc Summary: API documentation for %{name} Group: Documentation/HTML %description javadoc API documentation for %{name}. %prep %setup -q cp %{SOURCE1} pom.xml %{mvn_file} : %{name} %build %{mvn_build} -f -- -Dmaven.compiler.{source,target}=8 %install %mvn_install %fdupes %{buildroot}%{_javadocdir}/%{name} %files -f .mfiles %license LICENSE %doc README.md %files javadoc -f .mfiles-javadoc %license LICENSE %changelog