Git Product home page Git Product logo

leakycauldron's Introduction

CircleCI codecov Maven Central

Description

Leaky Cauldron contains a collection of libraries used for building kotlin services.

It's where [drop]wizards get their guice!

Versioning

Release version are of the form X.Y.Z where:

  • X: Major version, incremented when a subjectively "major" change happens
  • Y: Minor version, incremented when a breaking, backwards incompatible change happens
  • Z: Build version, incremented for every build

To uptake all new features and bugfixes without breaking changes, downstream projects can depend on a version range of the form [X.Y.1,X.W-SNAPSHOT), where W = Y + 1 (eg. [1.7.1,1.8-SNAPSHOT) for 1.7.*).

Getting Started

Install jdk and maven

  • Install openjdk 17 or newer
  • Install maven 3.9.2 or newer (or use included ./mvnw script instead of mvn)

Build and run tests

  • Building with maven will run tests
mvn clean install
  • View test coverage reports for each module at ${module}/target/site/jacoco/index.html

  • To use the Leaky Cauldron in a service of your own, see this example for a recommended project skeleton

Project Layout

Note that most modules make use of Guice for dependency injection of configured instances.

This contains resources for use during a maven build. If depended upon, it should only be brought into test scope.

This contains the parent pom to be used for all maven projects at Tribe.

This contains classes and Guice modules for configuring Jackson objects to work with Tribe codebases.

This contains classes that enhance writing unit tests.

This contains classes for parsing HOCON application.conf files with support for environmental overrides and AWS KMS-based encrypted values.

This contains classes for injecting configured jOOQ DSLContexts and JDBC DataSources into application data access code.

This contains classes for setting up a configurable Dropwizard based application.

This contains classes for adding GraphQL support to an application.

leakycauldron's People

Contributors

dependabot[bot] avatar dependabot-preview[bot] avatar josephlbarnett avatar tbilgere-td avatar antonkarasov avatar ksmith7698 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.