Skip to content

Conversation

@Claudenw
Copy link
Collaborator

This is the initial code for the aiven-commons

Aiven commons is patterned after Apache commons. The main POM contains that shard configuration against all the other components. The components are not modules of the parent pom.

The parent pom has version 1, it is not using semantic numbering but does use monotonically increasing numbers.
Each child can depend upon a different version of the parent.
Each child can change their version number at their own cadence.
Each child builds as a separate project.
The parent will change the version number whenever there is a change to the configuration.

Snapshot versions may be deployed and are encouraged.

Code is cleaned by during the build so after a maven build there my be formatting changes to the code.
The build system makes every effort to ensure good code before check in.

Please review all the code looking for naming issues and other items that you would not want to see in a SNAPSHOT version. The code here will be Version 1 aiven-commons and version 0.0.1-SNAPSHOT for everything else.

I know there is a lot of code, but most of it you have seen already as it has been moved and perhaps slightly modified from other code bases in aiven-open.

The initial code

Why this way

Allows each common component to evolve at its own cadence. Allows systems to utilize older versions as long as they need to.

@Claudenw Claudenw self-assigned this Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants