Я следую this статье для интеграции SonarQube с Xcode и анализа кода Objective-C. Несмотря на то, что настройка работоспособна и не возникает ошибок/предупреждений после запуска сценария оболочки, никаких нарушений не отображается в Личном кабинете. Все, что я вижу, это основные показатели, такие как нет. строк кода, нет. файлов и т. д. Есть ли кто-нибудь, кто попробовал это и направил меня дальше. Использование Sonarqube с Xcode
ответ
Вам следует попробовать его со старой версией SonarQube (< 4.0 обычно работает).
В дополнение к статье, указанной выше, у меня есть несколько дополнений к этому. Вы можете следить за шагами ниже,
Предпосылки:
- Sonar
- Сонар-бегун
- SonarQube Objective-C плагин (Лицензия)
- XCTool
- OCLint (нарушения) и gcovr (охват кода)
- MySql и JDK
шаги по установке:
- Скачать и установить MySql DMG. А затем запустите сервер MySQL из системных настроек или через командную строку, или если он был перезапущен, он должен быть командной строкой.
- Для начала -
sudo /usr/local/mysql/support-files/mysql.server start
- Для перезапуска -
sudo /usr/local/mysql/support-files/mysql.server restart
Для остановки -
sudo /usr/local/mysql/support-files/mysql.server stop
Скачать и установить последнюю версию JDK.
Перейдите на терминал и введите следующие команды для установки предварительных условий . (Homebrew - это пакет системы управления для операционной системы Mac.установить доморощенного, введите команду -
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)")
Sonar -
brew install sonar
- Сонар-бегун -
brew install sonar-runner
- XCTool -
brew install xctool
OCLint -
brew install oclint
илиbrew install https://gist.githubusercontent.com/TonyAnhTran/e1522b93853c5a456b74/raw/157549c7a77261e906fb88bc5606afd8bd727a73/oclint.rb for version 0.8.1(updated))
gcovr -
brew install gcovr
Конфигурация:
- Набор среды путь Sonar:
export SONAR_HOME=/usr/local/Cellar/sonar-runner/2.4/libexec
export SONAR=$SONAR_HOME/bin
export PATH=$SONAR:$PATH
наконец команда echo $SONAR_HOME
должна возвращать путь - /usr/local/Cellar/sonar-runner/2.4/libexec
- Set up MySql DB:
export PATH=${PATH}:/usr/local/mysql/bin
mysql -u root;
CREATE DATABASE sonar_firstdb;
CREATE USER 'sonar'@'localhost' IDENTIFIED BY 'sonar’;
GRANT ALL PRIVILEGES ON sonar_firstdb.* TO 'sonar'@'localhost’;
FLUSH PRIVILEGES;
exit
- Параметры конфигурации Набор эхолота:
vi /usr/local/Cellar/sonar/5.1.2/libexec/conf/sonar.properties
Вы можете закомментировать большинство вариантов, кроме полномочий и MySQL и убедитесь, что вы вводите правильное имя базы данных.
например:
sonar.jdbc.url=jdbc:mysql://localhost:3306/**sonar_firstdb**?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
vi /usr/local/Cellar/sonar-runner/2.4/libexec/conf/sonar-runner.properties
Вы можете закомментировать большинство вариантов, кроме полномочий и MySQL и убедитесь, что вы вводите правильное имя базы данных.
например:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar_firstdb?useUnicode=true&characterEncoding=utf8
Start эхолота с помощью команды -
sonar start
Команда запустит гидролокатора так перейти к http://localhost:9000 в вашем браузере выбора , Войдите в систему (admin/admin) и осмотритесь.
- Теперь вы должны установить плагин Objective-C или Swift.
Перейти к настройкам -> Система -> Центр обновления -> Доступные плагины (установите необходимый плагин).
Вам необходимо перезапустить гидролокатор, чтобы завершить установку после добавления pligin, и добавить лицензионный ключ после установки плагина.
через терминал перейти в корневой каталог проекта, который вы хотите сонар для проверки, а также создать проект специфические свойства файл с помощью следующей команды:
vi sonar-project.properties
Добавить следующий конкретного проекта свойства и отредактируйте выделенные жирным шрифтом разделы в соответствии с вашим проектом.
// Required configuration
sonar.projectKey=**com.payoda.wordsudoku**
sonar.projectName=**DragDrop**
sonar.projectVersion=**1.0**
sonar.language=**objc**
// Project description
sonar.projectDescription=**Sample description**
// Path to source directories
sonar.sources=**~/path to your project**
// Path to test directories (comment if no test)
//sonar.tests=testSrcDir
// Xcode project configuration (.xcodeproj or .xcworkspace)
// -> If you have a project: configure only sonar.objectivec.project
// -> If you have a workspace: configure sonar.objectivec.workspace and sonar.objectivec.project
// and use the later to specify which project(s) to include in the analysis (comma separated list)
sonar.objectivec.project=**DragDrop.xcodeproj**
// sonar.objectivec.workspace=myApplication.xcworkspace
// Scheme to build your application
sonar.objectivec.appScheme=**DragDrop**
// Scheme to build and run your tests (comment following line of you don't have any tests)
//sonar.objectivec.testScheme=myApplicationTests
/////////////////////////
// Optional configuration
// Encoding of the source code
sonar.sourceEncoding=**UTF-8**
// JUnit report generated by run-sonar.sh is stored in sonar-reports/TEST-report.xml
// Change it only if you generate the file on your own
// Change it only if you generate the file on your own
// The XML files have to be prefixed by TEST- otherwise they are not processed
// sonar.junit.reportsPath=sonar-reports/
// Cobertura report generated by run-sonar.sh is stored in sonar-reports/coverage.xml
// Change it only if you generate the file on your own
// sonar.objectivec.coverage.reportPattern=sonar-reports/coverage*.xml
// OCLint report generated by run-sonar.sh is stored in sonar-reports/oclint.xml
// Change it only if you generate the file on your own
// sonar.objectivec.oclint.report=sonar-reports/oclint.xml
// Paths to exclude from coverage report (tests, 3rd party libraries etc.)
// sonar.objectivec.excludedPathsFromCoverage=pattern1,pattern2
sonar.objectivec.excludedPathsFromCoverage=.*Tests.*
// Project SCM settings
// sonar.scm.enabled=true
// sonar.scm.url=scm:git:https://...
- Сохраните файл и вы можете использовать то же самое для других проектов.
- В корневой директории проекта выполнить команду -
sonar-runner
- 1. Использование sonarqube с apache derby
- 2. Использование Jacoco в pom.xml + SonarQube
- 3. Использование SonarQube с TeamCity и C#/.NET
- 4. SonarQube для iOS vs анализ кода Xcode
- 5. Использование FreeImage с Xcode
- 6. Использование GLib с XCode
- 7. SonarQube с Jenkins
- 8. Использование Subversion с XCode 4.6
- 9. Использование Xcode с удаленной машины
- 10. Использование SDL с XCode 4.4
- 11. Использование SDL с Xcode 4.3
- 12. Использование LinkedIn API с Xcode
- 13. Использование UIScrollView с Xcode 4.6
- 14. Использование Xcode с Open GL
- 15. Использование OpenSSL с XCode 7.3
- 16. Использование ShareKit с Xcode 5
- 17. Использование Mogenerator с Xcode 5
- 18. Использование библиотеки CryptoSwift с Xcode
- 19. Использование баз данных с xcode
- 20. Использование sonarqube для контроля непрерывной доставки
- 21. проблемы использование sonarqube и vssonar расширения
- 22. Использование sonarqube для проекта визуальной студии
- 23. Использование групп SonarQube для пользователей ldap
- 24. SonarQube блокатор: Использование «тм» в объявлении функции
- 25. Разрешение на использование SonarQube 6.0 с использованием групп
- 26. Использование c89 в Xcode
- 27. Использование GLFW в Xcode
- 28. Использование Xcode площадка captureValue()
- 29. Роль сканера sonarqube и sonarqube
- 30. Использование незаявленного идентификатора Xcode
ли это решить проблему? – electricSunny
Да, это нормально работает .. Не пытайтесь это сделать ?? –
Да - я точно это сделал, я до сих пор не вижу никаких показателей для дублирования сложности. – electricSunny