It’s still at its early stages but it’s definitely collecting already lots of interest and potential use cases.
Maven Calm is an Apache Maven based attempt to provide a simple and collaborative implementation to the problems of ALM (Application Lifecycle Management), which is based on a simple rationale developed in 3+ years of complex architectures development on Maven:
“All best practices can be externalized, in a cross technology and cross organization fashion, using Maven project inheritance capabilities”
As Mau explains in his wonderful Maven Calm tutorial, simply by the means of using Calm as parent POM and setting some properties, you have access to a number of pre-configured behaviors of your build, neatly bound to lifecycle phases.
Hopefully this list is meant to grow pretty soon, but at the moment Maven Calm support ALM processes like:
- Application Packaging and Deployment
- Release, distribution and change management
- User and developer documentation site publishing
- Continuous Unit, integration and regression testing
- Add your own best practice and avoid re-writing it per project/company!