xcodebuild не выполняет инкрементные сборки - PullRequest
6 голосов
/ 27 марта 2019

Я недавно проверил свежую версию нашего iOS-приложения из git, созданную из командной строки через xcodebuild.Затем я построил второй раз, используя ту же самую команду, , не внося никаких изменений в файлы в репо (даже не открывая их).

Я ожидал, что вторая сборка не займет временивообще, но на самом деле это заняло больше времени, чем первое:

user$ time xcodebuild -sdk 'iphonesimulator' -scheme 'DemoApp' -configuration 'Debug' -target 'DemoApp' build > /dev/null

real    5m45.849s
user    0m15.270s
sys     0m5.640s

user$ time xcodebuild -sdk 'iphonesimulator' -scheme 'DemoApp' -configuration 'Debug' -target 'DemoApp' build > /dev/null

real    6m8.858s
user    0m12.904s
sys     0m4.198s

Если я делаю сборку в xcode без изменений, она собирается и запускается в считанные секунды.

Вот что я пытался получить инкрементные сборки в командной строке:

  • Я пытался добавить -derivedDataPath ~/Library/Developer/Xcode/DerivedData, но получил те же результаты.
  • Я добавилфлаг -incremental для других аргументов Swift.
  • Я отключил все сценарии оболочки и убедился, что между сборками не было файлов

Не поддерживает xcodebuildинкрементные сборки?Есть ли способ выяснить, почему это происходит?

Я использую последнюю версию Xcode и новую систему сборки Xcode 10.Большая часть кода написана быстро, если в этом есть какая-то разница.

Редактировать: переход на старую сборку системы с постепенным увеличением с помощью xcodebuild менее чем за 30 секунд.


Обновление:

Способ, которым я тестирую это: у меня есть задание Jenkins, которое будет клонировать репозиторий и выполнять полную очистку: запустить очистку xcodebuild и удалить каталог сборки и каталог производных данных с помощьюрука на всякий случай.Тогда это делает сборку.Затем он не вносит изменений и выполняет сборку снова.Вторая сборка - это та, которую я рассчитываю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...