Отрегулируйте значение настройки Xcode Build на основе переменной среды - PullRequest
0 голосов
/ 30 мая 2019

У меня есть пользовательские настройки сборки на уровне проекта: user defined build setting

Который вводится в настройку сборки флагов Other Swift также на уровне проекта: Other Swift flags build setting

Это заставляет компилятор выдавать предупреждение, когда для компиляции любой функции требуется более 1000 мс. Проблема в том, что CI намного медленнее, чем наши dev-машины, поэтому на наших dev-машинах мы хотели бы, чтобы он был больше 300 мс, а на CI 2000+ мс или, может быть, даже просто отключен. Мы запускаем с предупреждениями как ошибками, поэтому, если CI, который является общим компьютером, работает медленно, это часто приводит к сбою сборки.

При работе на CI установлена ​​переменная окружения CI, поэтому я хотел бы изменить значение параметра сборки LONG_SWIFT_COMPILE_LIMIT_MS, если установлен CI или нет. Как я могу это сделать? Я попытался добавить:

if [ -z ${CI+x} ]; then
    # Not running on CI
    setenv LONG_SWIFT_COMPILE_LIMIT_MS 300
else
    # Running on CI
    setenv LONG_SWIFT_COMPILE_LIMIT_MS 2000
fi

в качестве сценария предварительной сборки на схеме, но это не сработало.

1 Ответ

0 голосов
/ 30 мая 2019

Вы можете указать переопределения параметров сборки в командной строке xcodebuild, добавив <setting>=<value> аргументы.Для вашего случая LONG_SWIFT_COMPILE_LIMIT_MS=2000.

Это не может быть выполнено сценарием предварительной сборки схемы Xcode.

...