Ошибка Gradle с текстом unexpected tokens (use ';' to separate expressions on the same line) появляется при синхронизации проекта или запуске сборки, когда компилятор Kotlin DSL или Groovy встречает в файле build.gradle.kts два выражения подряд без разделителя. Сборка останавливается ещё на этапе парсинга скрипта, поэтому проект не конфигурируется вовсе — ни одна задача не выполняется, пока синтаксис не будет исправлен.

Чаще всего проблема возникает после копирования фрагмента конфигурации из документации или чужого репозитория: пример написан на Groovy, а вставлен в файл на Kotlin DSL, либо наоборот. Ниже разберём, почему возникает эта ошибка, как найти проблемную строку и как исправить типовые случаи.

Что означает сообщение об ошибке

Сообщение unexpected tokens (use ';' to separate expressions on the same line) выдаёт компилятор Kotlin, когда он не может разобрать скрипт сборки. В Kotlin DSL выражения в одной строке должны разделяться точкой с запятой, а если разделителя нет, парсер воспринимает второй фрагмент как «лишние токены» и останавливается.

На практике точка с запятой в Kotlin почти никогда не нужна намеренно: сообщение указывает не на то, что вам следует добавить ;, а на то, что строка написана синтаксически неверно. Компилятор просто предлагает один из формально допустимых способов «склеить» два выражения.

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

💡

Сообщение «use ';' to separate expressions» — это симптом синтаксической ошибки в скрипте сборки, а не указание реально ставить точку с запятой.