readme.adoc
June 21, 2022 · View on GitHub
= jMolecules -- Technology integrations
This repository contains a variety of integrations of jMolecules abstractions into different technologies.
== Supported technologies
- link:jmolecules-archunit[
jmolecules-archunit] -- ArchUnit rules that verify the aggregate structures in your model. - link:jmolecules-bytebuddy[
jmolecules-bytebuddy] -- A ByteBuddy plugin to translate jMolecules patterns implemented injmolecules-dddinto different technologies. See the link:https://github.com/xmolecules/jmolecules-examples/tree/main/jmolecules-spring-data-jpa[example] for details. ** Spring -- translates jMolecules annotations like@Serviceetc. into the Spring equivalents so that the annotated classes can be used out of the box with Spring. ** JPA -- translatesjmolecules-dddannotations and interfaces into default mapping annotations and boilerplate code required by JPA. - link:jmolecules-spring[
jmolecules-spring] -- Runtime library to make concepts fromjmolecules-dddwork with Spring out of the box. **Converterimplementations that convert primitives (String,UUID) intoIdentifierimplementations if they expose a static factory methodof(…)and back into their inner value by calling the corresponding getter. ** Spring Boot auto-configuration to transparently register those converters in Spring MVC applications. **AssociationResolver<T>to be used with Spring Data repositories to easily resolveAssociationinstances. - link:jmolecules-jackson[
jmolecules-jackson] -- Runtime library to make concepts fromjmolecules-dddwork with Jackson out of the box. ** A Jackson module to tweak the serialization of single attribute@ValueObjectandIdentifierinstances to (de)serializes (from) as their wrapped instances. ** Spring Boot auto-configuration to transparently register the module with Jackson in Spring Boot applications.
== Developer information
=== Release instructions
mvn release:prepare \ -DreleaseVersion="$version" \ -DdevelopmentVersion="$versionNext" \ -DscmReleaseCommitComment="$ticketId - Release version $version." \ -DscmDevelopmentCommitComment="$ticketId - Prepare next development iteration." \ -Dtag="$version"mvn release:perform