2015-04-28 3 views
8

Я следую this статье для интеграции SonarQube с Xcode и анализа кода Objective-C. Несмотря на то, что настройка работоспособна и не возникает ошибок/предупреждений после запуска сценария оболочки, никаких нарушений не отображается в Личном кабинете. Все, что я вижу, это основные показатели, такие как нет. строк кода, нет. файлов и т. д. Есть ли кто-нибудь, кто попробовал это и направил меня дальше. enter image description hereИспользование Sonarqube с Xcode

ответ

0

Вам следует попробовать его со старой версией SonarQube (< 4.0 обычно работает).

9

В дополнение к статье, указанной выше, у меня есть несколько дополнений к этому. Вы можете следить за шагами ниже,

Предпосылки:

  • 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&amp;characterEncoding=utf8&amp;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&amp;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
+0

ли это решить проблему? – electricSunny

+0

Да, это нормально работает .. Не пытайтесь это сделать ?? –

+0

Да - я точно это сделал, я до сих пор не вижу никаких показателей для дублирования сложности. – electricSunny

Смежные вопросы