Перейти к содержимому

Установка плагина Gradle

Tuist предоставляет плагин Gradle, который интегрируется с вашим проектом Gradle и включает такие возможности, как удалённое кэширование сборок и аналитика сборок. Это руководство поможет вам установить и настроить плагин.

Плагин требует Gradle версии 8.12.1 или новее.

1. Инициализация Tuist#

Выполните следующую команду в корневом каталоге вашего проекта Gradle:

bash
mise x tuist@latest -- tuist init
bash
tuist init

Команда проведёт вас через аутентификацию, создание или выбор проекта Tuist и генерацию конфигурации для вашего проекта Gradle.

2. Подключение плагина#

После выполнения tuist init добавьте плагин Tuist в ваш settings.gradle.kts, следуя инструкциям в выводе команды:

kotlin
plugins {
id("dev.tuist") version "0.10.0"
}

3. Аутентификация команды и непрерывной интеграции#

Хотя tuist init выполняет локальную аутентификацию для вас, вашим коллегам и средам непрерывной интеграции потребуется пройти аутентификацию отдельно.

Каждому участнику команды следует выполнить следующую команду, чтобы получить доступ к возможностям Tuist на своём компьютере:

bash
tuist auth login

Если вы используете самостоятельно размещённый или локальный сервер Tuist, укажите тот же базовый URL, который настроен в tuist.toml:

bash
tuist auth login --url http://localhost:8080
tuist auth whoami --url http://localhost:8080

Сохраняйте единообразие в написании имени хоста. Например, учётные данные, сохранённые для localhost, отделены от тех, что сохранены для 127.0.0.1.

Для автоматизированных раннеров следуйте руководству по аутентификации в среде непрерывной интеграции, чтобы настроить аутентификацию для вашей среды.

Кэш конфигурации и изолированные проекты#

Плагин поддерживает кэш конфигурации Gradle и изолированные проекты. Оставьте плагин в settings.gradle.kts; вам не нужно подключать его отдельно к каждому подпроекту.

Tuist не включает эти функции автоматически. Чтобы активировать их, добавьте следующее в gradle.properties:

plaintext
org.gradle.configuration-cache=true
org.gradle.unsafe.isolated-projects=true

Ваши скрипты сборки и другие плагины также должны поддерживать эти функции. Gradle сообщает о проблемах совместимости при сохранении кэша конфигурации.

Справочник по конфигурации#

В блоке расширения tuist в файле settings.gradle.kts доступны следующие параметры:

ПараметрТипЗначение по умолчаниюОписание
projectString?null (необязательно)Идентификатор проекта в формате account/project. Если не задан, плагин считывает его из tuist.toml.
urlString?nullБазовый URL сервера Tuist. Если не задан, по умолчанию используется "https://tuist.dev" или значение, определённое в tuist.toml.
uploadInBackgroundBoolean?nullОпределяет, следует ли загружать аналитику сборок и тестов в фоновом режиме. При значении null (по умолчанию) загрузка выполняется в фоновом режиме для локальных сборок и в основном потоке на раннерах непрерывной интеграции.
stressNewTests.modeString?null"report" или "enforce". Повторно запускает тесты, добавленные сборкой, и помечает нестабильные; см. стресс-тестирование новых тестов. Отключено, если не задано.

Для локального сервера, использующего URL с протоколом http://, разрешите небезопасный протокол только в этой локальной конфигурации:

kotlin
tuist {
buildCache {
allowInsecureProtocol = true
}
}

Не включайте allowInsecureProtocol для размещённых или других серверов с https://.

Tuist.toml

Рекомендуемый способ настройки project (и опционально url) — через файл tuist.toml в корневом каталоге проекта. Таким образом конфигурация будет общей для интерфейса командной строки Tuist и плагина Gradle. При необходимости вы всё ещё можете переопределить эти значения в settings.gradle.kts.

toml
project = "account/project"
url = "https://tuist.dev"

HTTP-прокси#

Если ваша сеть направляет исходящий трафик через HTTP-прокси, см. руководство по настройке HTTP-прокси.

Следующие шаги#

После установки и настройки плагина вы можете включить:

  • Удалённый кэш сборок для обмена артефактами сборки между членами команды и раннерами непрерывной интеграции.
  • Аналитика сборок для отслеживания времени выполнения задач и поведения кэша в панели управления Tuist.
  • Аналитика тестов для отслеживания производительности тестов и выявления нестабильных тестов.
  • Нестабильные тесты для автоматического выявления, отслеживания и изоляции нестабильных тестов.