Use Scons.bat python wrapper pass the scons.bat to to build-wrapper for c/c++ embedded program analysis as a build file.
While every build deletes all old directories/folders used for build and checkouts the code and executes the build through scons.bat - simulating the clean option similar to make clean all but by programmatically deleting the folder and creating fresh with source code and other files for build requirement.
8.9 version of Sonarqube is used and the build-wrapper was download from the document linked to this version path.
With this approach the build takes a long time more than 9 minutes, while without build-wrapper but with just scons.bat it just takes 12 minutes to build an embedded c/c++ code.
Questions to understand-
Is there a need to do a clean build if the build is attempted with a new folder/path/ fresh path.
build-wrapper.log and the build-wrapper-dump.json files are created but with 0 byte -empty.
Why is sonar-build-wrapper taking 70+ minutes more for the same code when it is involved, How do i reduce it.
SonarQube Version 8.9 no additional plugins related to build requirement.
buildwrapper.json and buildwrapper log are created with around approx 0.5 million lines in each logs approx 30MB size of json and log file,
I also noticed that during the build process the CPU loads fully both with and without BuildWrapper only difference is that with build-wrapper the time that it takes is almost 300% more than the direct scons build on a 4 core CPU with 16GB memory. Increasing cores to 16 did result with a faster build. I do not understand why this is happening with the Build-wrapper. Any way to know more on this. But for sure, without much of document help on sonarqube for build-wrapper with scons this will be a challenge always.
Is there any configuration to be checked on SonarQube Server (i do not think this is a case as he build wrapper may not even interact with the server till it gets its json/lobs created and an scanner is called for execution) Please od let me know if you wnat me to test this with any additional configuration.