Só por diversão: a equipe do PVS-Studio teve a ideia de monitorar a qualidade de alguns projetos de código aberto

A análise de código estático é um componente importante de todos os projetos modernos. Ainda mais importante é sua correta aplicação. Decidimos organizar uma verificação regular de alguns projetos de código aberto para ver o efeito da execução frequente do analisador. Usamos o analisador PVS-Studio para verificar os projetos e veremos os resultados usando o SonarQube. Assim, nossos assinantes aprenderão sobre novos bugs interessantes no código recém-escrito. Achamos que vai ser engraçado.





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





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





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