Java Developer

ot-clean, Zero maintenance overhead

The amount of time I can spend on open source project is limited. That is why maintainability is priority number one for me. If I want to add a new feature I want to focus on new feature only, no distractions. That is why one of the first things I have done was automation of entire project lifecycle. This includes building, high-coverage testing and single command release.

Jcabi-parent

jcabi-parent is a parent pom from jcabi components which simplify getting up to date versions of popular dependencies. By updating version of parent pom, we can automatically update most of the libraries used in the project.

Qulice

Qulice is Quality control instrument for Java projects. Very restrictive tool that preconfigures many code quality libraries like:

Maven-assembly-plugin + jar-with-dependencies

ot-clean is a command line tool. In order to prepare release I need to pack everything as a standalone jar file, add some execution scripts and pack everything together. I was looking for some easy way to do this and it turns out that those two plugins are handling this quite nicely.

Github-release-plugin

Finally, when the project is ready I wanted to distribute it easily. This plugin is handling few steps:

Build & Release

In order to build and release my project I just need to execute two lines:

mvn clean install -Pqulice,cobertura
mvn github-release:release

The ot-clean series

This blog post is one of the series about the ot-clean. Simple open source tool that maintains your projects directories cleaned from all the garbage. Feel free to look at the source code or readme page for more information. You can also submit pull request or post suggestion. This text participates in open source blogging competition.

Project status

Build Status

All posts from the ot-clean series


Like it? Share it on , , ,

About the author

Grzegorz Gajos, Software Architect with international consulting and programming background. Co-founder of Open Tangerine Software House. Quality evangelist. An experienced entrepreneur, out of the box thinker and problem solver.