Неявные импорты
Чтобы уменьшить сложность ведения графа проекта Xcode с необработанным проектом Xcode, Apple разработала систему сборки таким образом, что зависимости могут быть определены неявно. Это означает, что продукт, например, приложение, может зависеть от фреймворка, даже не объявляя о такой зависимости явно. В небольших масштабах это нормально, но по мере роста сложности графа проекта неявность может проявиться в виде ненадежных инкрементных сборок или функций редактора, таких как предварительный просмотр или завершение кода.
Проблема в том, что вы не можете предотвратить появление неявных зависимостей. Любой разработчик может добавить в свой Swift-код утверждение import, и неявная зависимость будет создана. Именно здесь на помощь приходит Tuist. Tuist предоставляет команду для проверки неявных зависимостей путем статического анализа кода в вашем проекте. Следующая команда выведет неявные зависимости вашего проекта:
bash
tuist inspect implicit-importsЕсли команда обнаруживает неявный импорт, она завершает работу с кодом выхода, отличным от нуля.
::: наконечник VALIDATE IN CI
Мы настоятельно рекомендуем запускать эту команду в рамках команды
continuous integration каждый раз, когда новый код выкладывается вверх потечению.
:::
НЕ ВСЕ ВЗАИМНЫЕ СЛУЧАИ ВЫЯВЛЕНЫ
Поскольку Tuist полагается на статический анализ кода для обнаружения неявных зависимостей, он может уловить не все случаи. Например, Tuist не может понять условный импорт через директивы компилятора в коде.
