Hi all, I just created the PR https://github.com/apache/iotdb/pull/13269 This adds a new profile to the build which uses a tool called jqassistant to collect a huge amount of data during the build. It stores this information in a graph-database Neo4J.
This is not only about classes, which methods they define, which properties they have, which other methods they call, package relations, etc. it also contains all information from Maven and it’s dependencies as well as SCM information. It’s really amazing which types of analysis you can to with this tool. As an example, I added some analysis definitions, that automatically detect Singletons as well as their usage and reports these separately. We can use this information for tracking progress of getting rid of singletons. The probably coolest thing about it, is that you can even start a local Neo4J instance which contains all data about our project and you can do your own queries. Chris