I support the build process for a large (> 500,000 LOC) Java project. I just added the sonar analysis step to the end of the nightly builds. But it takes more than three hours to complete ... This is not a serious problem (it happens in one night), but I would like to know if I can speed it up (so that I can start it manually during working hours, if necessary).
Any options for sonar, Hudson, Maven or JDK. Can I customize what can improve the situation?
[INFO] ------------- Analyzing Monolith [INFO] Selected quality profile : Sonar way, language=java [INFO] Configure maven plugins... [INFO] Sensor SquidSensor... [INFO] Java AST scan... [INFO] Java AST scan done: 103189 ms [INFO] Java bytecode scan... ... (snip) [INFO] Java bytecode scan done: 19159 ms [INFO] Squid extraction... [INFO] Package design analysis... ... (over three hour wait here) [INFO] Package design analysis done: 12000771 ms [INFO] Squid extraction done: 12277075 ms [INFO] Sensor SquidSensor done: 12404793 ms
12 million milliseconds = 200 minutes. This is a long time! In comparison, compilation and testing steps before a sonar step take less than 10 minutes. From what I can tell, the process is CPU related; a large pile does not affect. Maybe this should be because of the confusion / duplication analysis, I don't know. Of course, I know that the best option is to split the project! But it will take a lot of work; if I can tweak some configuration in the meantime, that would be nice.
Any ideas?
source share