Заметка для себя в будущем, но пригодится и вам, если вдруг придётся подебажить компилятор котлина в реальном проекте, использующем
Gradle.Для того чтобы подключиться дебаггером к компилятору котлина вам нужно:
Подготовить проект котлина
1. Склонировать репозиторий котлина
2. Переключиться в гите на тег использующейся в вашем проекте версии котлина:
v1.8.20 или другой.3. На сегодняшний день обязательно нужно отрубить поддержку Java 1.6/1.7, добавив в
local.properties cледующую строку:kotlin.build.isObsoleteJdkOverrideEnabled=true4. Открыть проект котлина в IDE (IDEA / Android Studio).
Подготовить ваш проект к дебагу
1. Сделать всё как описано в гайде Gradle по дебагу билд логики
2. Добавить в
local.properties конфигурацию для компилятора котлина, которая говорит ему запускаться внутри процесса Gradle: kotlin.compiler.execution.strategy=in-processТаким образом, вы, подключившись дебаггером к Gradle, сможете дебажить ещё и компилятор котлина.
3. Остановить все демоны
Gradle прежде чем дебаг заработает:./gradlew --stopВ целом это всё, вы великолепны!
Теперь любой билд запущенный в вашем проекте можно будет продебажить из IDE в которой у вас открыт проект компилятора.
При следующем запуске любой
Gradle таски в вашем проекте Gradle будет ожидать дебаггер, прежде чем начать любую работу.
