Ошибка 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» — это симптом синтаксической ошибки в скрипте сборки, а не указание реально ставить точку с запятой.