Batteries for your Java backend

uetlib is a collection of modular Java and Spring Boot libraries, battle-tested in production at Ubique. Storage, jobs, payments, geo, monitoring and testing, all versioned together and ready to drop in.

Get started View on GitHub

Libraries

Pick only what you need. Every library is an independent Maven artifact.

Testing

Utilities to make integration tests fast and reliable.

Build & dependency management

Consistent versions across all your projects.

Repository dependencies

All uetlib repositories and their Maven references, with modules grouped by repository. Arrows point from a repository to the repository it references. Labels distinguish dependencies, test dependencies, Maven parents, managed versions and build tools. Parent and management links are not runtime dependencies.

uetlib repository dependencies without test dependencies or testing repositories
Open the graph without test dependencies · DOT source. Excludes test-scope references and the test libraries/reference application; keeps parents, managed versions and build tools.
Dependency graph of all uetlib repositories, including Maven parents and managed dependencies
Open the full dependency graph · DOT source. Dashed boxes identify referenced artifacts whose source is outside the current checkout.
Test libraries and test dependency references between uetlib repositories
Open the testing dependency graph · DOT source. Includes test repositories and explicit test-scope references from other repositories.

Getting started

Two ways to bring uetlib into your Maven project.

Spring Boot projects: use the parent

Inherits Spring Boot, Spring Cloud and all uetlib versions in one go.

<parent>
  <groupId>ch.uetlib</groupId>
  <artifactId>uetlib-spring-boot-starter-parent</artifactId>
  <version>${uetlib.version}</version>
</parent>

Any project: import the BOM

Keep your own parent and just manage uetlib versions.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>ch.uetlib</groupId>
      <artifactId>uetlib-self-bom</artifactId>
      <version>${uetlib.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Then add the modules you need, without a version:

<dependency>
  <groupId>ch.uetlib</groupId>
  <artifactId>uetlib-storage</artifactId>
</dependency>

Contributing

Found a bug or have an idea? Issues for all uetlib repositories are tracked centrally in UbiqueInnovation/uetlib. Pull requests are welcome in the individual component repositories.

License

uetlib is open source and licensed under the Apache License, Version 2.0. The inotify bindings in uetlib-inotify-java use LGPL-3.0-or-later. See each repository for its license and third-party notices.