Juste pour le plaisir: l'équipe PVS-Studio a eu l'idée de surveiller la qualité de certains projets open source

L'analyse de code statique est une composante importante de tous les projets modernes. Son application correcte est encore plus importante. Nous avons décidé d'organiser une vérification régulière de certains projets open source pour voir l'effet de l'exécution fréquente de l'analyseur. Nous utilisons l'analyseur PVS-Studio pour vérifier les projets et nous afficherons les résultats à l'aide de SonarQube. Ainsi, nos abonnés découvriront de nouveaux bogues intéressants dans le code nouvellement écrit. Nous pensons que ce sera drôle.





- ? , , , "" , , , . , , , , . — : , . , , , . – .





, , , . , – . , , . , , (, ).





open source – , ( ) . , — , , , – . - , Twitter.





, , open source .





Blender. , .





c PVS-Studio – SonarQube. : SonarQube, .





SonarQube

PVS-Studio : , , , . , PVS-Studio, SonarQube.





. . SonarQube . , PostgreSQL. .





PostgreSQL

. , SonarQube. sonar – psql :





CREATE USER sonar WITH PASSWORD '12345';

      
      



pgAdmin. sonarqube CREATE DATABASE, :





CREATE DATABASE sonarqube OWNER sonar;

      
      



, SonarQube.





SonarQube

SonarQube. . . C:\sonarqube\sonarqube-8.5.1.38104.





C:\sonarqube\sonarqube-8.5.1.38104\conf\sonar.properties. :





sonar.jdbc.username=sonar
sonar.jdbc.password=12345
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube

      
      



SonarQube . PVS-Studio. , PVS-Studio, C:\Program Files (x86)\PVS-Studio. sonar-pvs-studio-plugin.jar. SonarQube C:\sonarqube\sonarqube-8.5.1.38104\extensions\plugins. sonar-cxx-plugin, . sonar-cxx-plugin-1.3.2.1853.jar. C:\sonarqube\sonarqube-8.5.1.38104\extensions\plugins.





SonarQube, C:\sonarqube\sonarqube-8.5.1.38104\bin\windows-x86-64\StartSonar.bat.





web-. sonarServer:9000, sonarServer — , SonarQube.





Quality Profile

(quality profile) — SonarQube, . PVS-Studio , , - , . SonarQube .





Quality Profile, Quality Profiles Create, .





( ), PVS-Studio Way, – C++. Create.





Rules, Repository PVS-Studio C++. Bulk Change Activate In, , PVS-Studio Way.





SonarQube .





PVS-Studio.





:





git clone https://github.com/blender/blender.git

      
      



:





make.bat full nobuild

      
      



, build_windows_Full_x64_vc15_Release\INSTALL.vcxproj.









"c:\\Program Files (x86)\\PVS-Studio\\PVS-Studio_Cmd.exe" \
 -t build_windows_Full_x64_vc15_Release\\Blender.sln \
 -o blender.plog --sonarqubedata -r

      
      



blender.plog sonar-project.properties, SonarQube. sonar-scanner.





Sonar scanner

. , , , D:\sonar\sonar-scanner-4.5.0.2216-windows. D:\sonar\sonar-scanner-4.5.0.2216-windows\conf\sonar-scanner.properties, :





sonar.host.url=http://sonarServer:9000

      
      



sonarServer – , SonarQube.





:





D:\sonar\sonar-scanner-4.5.0.2216-windows\sonar-scanner.bat \
-Dsonar.projectKey=blender -Dsonar.projectName=blender \
-Dsonar.projectVersion=1.0 \
-Dsonar.pvs-studio.reportPath=blender.plog

      
      



, (blender.plog sonar-project.properties).





Continuous Integration , , Jenkins.





, . , open source "" , open source . , – , , .





, : Evgeniy Ovsyannikov. Just for Fun: PVS-Studio Team Came Up With Monitoring Quality of Some Open Source Projects.








All Articles