Releases: philips-software/cerberus
v2.0.1
Upgraded to support new PMD rules
Cerberus was actually using older version of PMD parser to look for programmer mistakes . This release has upgraded PMD to latest version.
Cerberus as quality gate
Cerberus now returns proper exit code for quality related hounds. Also as part of this release, we have integrated Spring IOC container .
Last but not least, mutation analysis is 99% now
Cerberus now builds on Gradle
Maven's POM keeps growing along with the project, the moment POM files grow big it becomes harder to maintain because XML by itself is not meant for humans AFAIK it is meant for someone else who has interfaces to defined to interpret it :) . I saw lots of advantages in using Gradle some very few and cool ones are
- Gradle is one such beautiful thing which provides nice DSL to write build tasks by helping me with conventions as well as giving me power to overide it.
- The plugin ecosystem of Gradle is simply amazing, and also it is too easy to build one for ourself if required or consume some thing from mavencentral as well in our gradle builds
- Gradle has some general support , for building C++
- Unlike maven which requires some sort of full compilation, Now I can ask people to just clone and run using gradle and in that mode I can do some language agnostic stuff. For eg.. now post doing this change you can run
./gradlew runfrom the root directory which simply runs the application just like running JAR. - It allows me to watch my tests continuously https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continuous_build
- Last but not least, Since Gradle allows me to write build tasks using a full fledged Groovy language, Just Incase I hit a roadblock in future worst case I can resolve it by adding some another level of indirection, which is somewhat not so easy in Maven.
We also did some more feature enhancements listed below
We also added some more Clean code practices
- We now do Checkstyle scan even for test code
- We gate for cyclomatic complexity 4
- We gate for Error prone code
- We now run spotbugs in CI/CD previously it was just at local
Some Enhancements to Documentation
- Docs folder md files now have better structure, previously it had some formatting issues.
Cerberus JCMD with HTML and markdown reports
We now have enabled JCMD-DIFF hound to export reports of metrics in Markdown and HTML. To know about the JCMD ( Java Code Metrics Detection ) in detail. Please follow the instructions here
Cerberus Got FPM
This new Release has got Finding Programming mistakes hound . For Java .
to know more about its usage please refer the documentation here
First Version of Cerberus
It comes with 3 different functionalities
- It can detect duplicate code
- It can detect compiler suppressed warnings in ( JAVA , C, C++ , C# )
- It can gather chidamber & Kemerer metrics