Skip to content

Monorepo layout for Quarkus based Microservices using Maven

Notifications You must be signed in to change notification settings

damianoneill/maven-quarkus-monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Maven Quarkus Monorepo

The reference material used to influence decisions for this projects structure are available here:

Structure

The following principles will be adopted:

  • A separate parent and aggregator POM will exist at the top-level (or any other grouping for e.g. the services folder) to support independent module versioning.
  • Build Tools will have their own configuration module, per the Apache recommendations
  • Profiles will be used to allow building of nested modules e.g. -Pservices, -Pcve
  • Quarkus Services will be modules below the service directory
  • common modules will be created for both service and non-service (generic) code

Quarkus specific

  • To ensure that beans in a dependency get scanned when building a Quarkus service, jandex is used
  • service application.properties includes a property quarkus.native.additional-build-args=-H:ResourceConfigurationFiles=resources-config.json to get the native build to load extra resources defined in resources-config.json

Generic functionality

  • includes pmd / checkstyle / cve checks plugins
  • provides a generic endpoint /version (in services/common) for all services - info populated from git stats, as proof of CDI bean loading from a dependency
  • provide a multi-stage Dockerfile for building native images

About

Monorepo layout for Quarkus based Microservices using Maven

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published