Не могу заставить работать скрипт 'run-sonar-swift' - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь запустить сонар Свифт.У меня уже есть sonarQube с плагином, и я могу получить к нему доступ локально, используя этот URL http://localhost:9000.Я установил все предварительные условия, которые вы можете найти здесь:

https://github.com/Backelite/sonar-swift

Но я не могу понять, что это за ошибка, когда я запускаю run-sonar-swift.sh.

Если кто-нибудь может принести мне свет, я был бы очень признателен.

Вот журналы, когда я запускаю команду терминала . / Run-sonar-swift.sh -v :

MacBook-Air: streamus-phoenix-ios oboujaouane $ ./run-sonar-swift.sh -v

Запуск run-sonar-swift.sh ...

Число проектов: [1]

Файл проекта Xcode: Streamus.xcodeproj

Файл рабочей области Xcode: Streamus.xcworkspace

Схема приложения Xcode: StreamusAlpha

Симулятор назначения: платформа = iOS Simulator, имя = iPhone 6, OS = 11,3

Исключенные пути из покрытия:. Тесты.

Создание каталога sonar-reports /

Запуск тестов + xcodebuild clean build test -workspace Streamus.xcworkspace -scheme 'Streamus Alpha' -configuration Debug -enableCodeCoverage YES - платформа назначения '= симулятор iOS, имя = iPhone 6, ОС = 11,3' - время ожидания назначения 60

2018-05-12 10: 34: 14.031 xcodebuild [32149: 775290] IDETestOperationsObserverDebug: запись диагностикивойти в систему для тестовой сессии:-StreamusUITests-2018-05-12_103414-jhm3wz.log

2018-05-12 10: 34: 14.032 xcodebuild [32149: 769805] [MT] IDETestOperationsObserverDebug: (98FB295E-FE60-46AA-85892E17D) 8589-0160Начало тестового сеанса StreamusUITests-98FB295E-FE60-46AA-8589-015B0DD2E617 в 2018-05-12 10: 34: 14.031 с Xcode 9E145 на цели {SimDevice: iPhone 6 (672DE879-E48B-45DA-BFD9-D0412F51A706, iOS 11, iOS 11)} (11.3 (15E217))

2018-05-12 10: 34: 14.061 xcodebuild [32149: 769805] [MT] IDETestOperationsObserverDebug: (458F86F6-1492-40F1-9F72-A88FC23BD985) Начало сеанса тестирования StreamusTests-458F86F6-1492-40F1-9F72-A88FC23BD985 в

2018-05-12 10: 34: 14.061 с Xcode 9E145 на цели {SimDevice: iPhone 6 (672DE879-E48B-45DA-BFD9-D0412F51A706, iOS11.3, загружен)} (11.3 (15E217))

2018-05-12 10: 34: 14.061 xcodebuild [32149: 770075] IDETestOperationsObserverDebug: запись журнала диагностики для сеанса тестирования в: / var / folder / 9v /vdbbf4j96hxgcxmtpntznytr0000gn / T / com.apple.dt.XCTest / IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9 / StreamusTests-4F203461-1372-49B7-F-87-F-8-05-12 10: 34: 30.016 xcodebuild [32149: 769805]

Error Domain = IDETestOperationsObserverErrorDomain Code = 14 "Тестовая операция была отменена.Если вы считаете, что эта ошибка представляет собой ошибку, прикрепите файл журнала по адресу /var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9Dream-U8EE4F8F-4C19-B2AC-C2C0A274E8EC / Session-StreamusUITests-2018-05-12_103414-jhm3wz.log "

UserInfo = {NSLocalizedDescription = Тестовая операция была отменена. Если вы считаете, что эта ошибка представляет собой ошибку, прикрепите ошибкуфайл журнала по адресу /var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9/StreamusUITests--4-ITE2E2E4E4C8E4C8E4C8E4C8E8E4E4E8E4F62018-05-12_103414-jhm3wz.log}

2018-05-12 10: 34: 30.016 xcodebuild [32149: 769805] Ошибка Domain = IDETestOperationsObserverErrorDomain Code = 14 "Тестовая операция была отменена. Если вы считаете, что эта ошибка представляет собой ошибку, прикрепите файл журнала в / var / папки / 9В / vdbbf4j96hxgcxmtpntznytr0000gn / Т / com.apple.dt.XCTest / IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DFEC5E9 / StreamusTests-4F203461-1372-49B7-A806-F130F168079E / Session-StreamusTests-2018-05-12_103414- MfIreE.log "UserInfo = {NSLocalizedDescription = Тестовая операция была отменена. Если вы считаете, что эта ошибка представляет собой ошибку, прикрепите файл журнала по адресу /var/folders/9v/vdbbf4j96hxgcxmtpntznytr0000gn/T/com.apple.dt.XCTest/IDETestRunSession-9A7EF764-6391-4C7D-9F34-066A9DreamT61-SSt 1372-49B7-A806-F130F168079E / Session-StreamusTests-2018-05-12_103414-MfIreE.log} * * тысяча пятьдесят-три

Тестирование не удалось: Ошибка команды компоновщика с кодом выхода 1 (используйте -v, чтобы увидеть вызов) ** ПРОВЕРЕНО ПРОВЕРЕНО **

Следующие команды сборки не выполнены:

Лд *

Лд *

(2 ошибки)

  • ReturnValue = 65

  • набор + х

ОШИБКА - Команда 'xcodebuild clean build test -workspace Streamus.xcworkspace -scheme Streamus Alpha -configuration Debug -enableCodeCoverage YES -destination platform = iOS Simulator, имя = iPhone 6, OS = 11.3 -destination-timeout 60' завершилась ошибкой код: 65

Заранее спасибо,

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

У меня возникла дополнительная проблема с oclint: oclint: Not enough positional command line arguments specified!. Поэтому мне пришлось немного изменить скрипт run-sonar-swift.sh, чтобы он заработал: https://gist.github.com/Edudjr/79a2379842357c33709aecf040d9ae77#file-run-sonar-swift-sh

А это модель моего sonar-project.properties: https://gist.github.com/Edudjr/db51907068ea76b116d11d9a9b13f05f#file-sonar-project-properties

0 голосов
/ 15 мая 2018
  1. Похоже, ошибка произошла из-за профиля обеспечения.Когда я добавил свой профиль обеспечения и повторил попытку, проблема была решена.

  2. Затем у меня возникла другая проблема с MessageKit: «Ошибка сегментации: 11» Это была проблема конфигурации CocoaPods Podfile.Поэтому мне пришлось переключить режим компиляции для Debug с «Single File» на «Whole Module», щелкнув «Pods» в навигаторе проекта Xcode, затем выбрать «MessageKit» в целевых объектах «pods», затем вкладку «Builds settings», затем в поисковике нажать «режим компиляции» и переключить «SingleФайл »в« Весь модуль »и повторно запускайте скрипт run-sonar-swift.sh

Here how to switch to Whole Module instead of Single File

⚠️ каждый разВы делаете установку / обновление модуля или что-то, что может заменить модули. Вам необходимо переключить режим компиляции для Отладки с «Один файл» на «Весь модуль» для модуля, который выдает ошибку при запуске run-sonar.swift.sh с-v для многословия.

После этого еще не было моих проблем!Фактически у меня была последняя проблема, которая была ошибкой с модулем SwipeCellKit: «Нет такого модуля SwipeCellKit».Чтобы решить эту проблему, следуйте инструкциям, приведенным здесь https://stackoverflow.com/a/37732248/6188918

Затем я попытался еще раз, и остальная часть сценария запустилась (SwiftLint, Tailor & Lizard), и я подумал, что на этот раз это, наконец, хорошо, но ошибкаснова возникло новое сообщение об ошибке в конце скрипта, касающееся Lizard, которое было:

ОШИБКА: ошибка во время выполнения сканера SonarQube

ОШИБКА: файл MyprojectName/Domains/Repositories/Local/cacheManager.swift нельзя индексировать дважды.Убедитесь, что шаблоны включения / исключения создают несвязанные наборы для основных и тестовых файлов

ОШИБКА: повторно запустите сканер SonarQube, используя ключ -X, чтобы включить полное ведение журнала отладки.

Для разрешенияэто включение / исключение. Я последовал за ответом, данным здесь: https://stackoverflow.com/a/40150551/6188918, добавив их в строку в файле sonar-project.properties ниже строки sonar.swift.excludedPathsFromCoverage:

sonar.test.inclusion = ** / * Test * / **

sonar.exclusion = ** / * Test * / **

Я попытался снова, но с параметром -notailor (запустить скрипти пропустите Tailor):

. / run-sonar-swift.sh -notailor -v

, чтобы сэкономить немного времени, потому что портное занимает время

И после запуска скрипта ... выдается новая ошибка ... Но это была известная проблема:

Ошибка: вызвана: org.sonar.api.measures.PersistenceMode

И проблема объясняется здесь https://github.com/Backelite/sonar-swift/issues/118

Поэтому я скачал этот файл .jar «backelite-sonar-swift-plugin-0.4-sonar-7-quick-fix».jar », найденный здесь https://github.com/Hugal31/sonar-swift/releases/tag/0.4-sonar-7-quick-fix, замените его в плагинах моего локального SonarQube и попробуйте еще раз.

… и на этот раз после десятого запуска я наконец увидел свет ??

Надеюсь, этот ответ поможет, и если у вас есть вопрос, не стесняйтесь.Удачи и веселья:)

PS: Здесь вы найдете несколько вариантов запуска скрипта с параметрами:

. / Run-sonar-swift.sh -noswiftlint -v(запустить скрипт с опцией verbose и пропустить SwiftLint)

. / run-sonar-swift.sh -notailor -v (запустить скрипт с опцией verbose и пропустить Tailor)

. / run-sonar-swift.sh -nounittests -v (если ваш проект не имеет схемы, настроенной для тестирования, запускается с этим параметром)

Если вы хотите больше информации, проверьте в скрипте run-sonar-swift.sh ипроверить строки 125 ## ОПЦИИ КОМАНДНОЙ СТРОКИ

PS2: я также открыл проблему в sonar-swift GitHub, если это может помочь: https://github.com/Backelite/sonar-swift/issues/138

...