Kotlin Toolchain 0.11.0 заменил Amper и вышел в статусе Alpha
Kotlin Toolchain 0.11.0 заменил Amper и вышел в статусе Alpha. Фото: из архива JetBrains
Главное изменение, о котором разработчики объявили ещё на KotlinConf, заключается в том, что Amper окончательно трансформировался в единую точку входа для всей экосистемы Kotlin, и этот переход уже воплощён в жизни.
Теперь разработчикам доступна единая команда kotlin, которая позволяет создавать проекты, собирать их, запускать, тестировать, настраивать упаковку и публикацию, а в будущем обещает даже форматирование кода и генерацию документации без необходимости принимать решения о выборе инструмента сборки на старте.
Пользователям Amper необходимо заменить обёрточные скрипты amper и amper.bat на новые kotlin и kotlin.bat, а также установить вместо старого плагина Amper в IntelliJ IDEA новый плагин Kotlin Toolchain, при этом старый плагин можно безопасно удалить.
Одним из ключевых нововведений стала возможность глобальной установки Kotlin Toolchain через SDKMAN! командой sdk install kotlintoolchain, что позволяет использовать kotlin из любого каталога и избавляет от необходимости копировать обёртки между проектами, при этом глобальная команда автоматически находит проектную обёртку и запускает соответствующую версию инструмента.
Разработчики получили долгожданную возможность публикации JVM-библиотек в Maven-репозитории, включая Maven Central, причём для центрального репозитория процесс автоматизирован до предела — инструмент сам генерирует все необходимые JAR-файлы с исходниками и документацией, подписывает артефакты встроенным PGP-механизмом, создаёт POM-метаданные и контрольные суммы, после чего сборка и публикация выполняются одной командой kotlin publish mavenCentral.
Среди других улучшений стоит отметить генерацию привязок для C-библиотек из файлов определений в папке cinterop, причём IDE теперь автоматически генерирует эти привязки во время синхронизации проекта.
Интерфейс командной строки стал информативнее благодаря улучшенным индикаторам прогресса, встроенным в нативный прогресс-бар терминала, а также переработанному отображению диагностик компилятора Kotlin. В IDE появилась возможность автоматической загрузки исходников библиотек в фоновом режиме после синхронизации, что позволяет сразу приступать к работе, а разрешение зависимостей теперь выполняется на уровне каждого модуля, что устраняет расхождения между CLI и плагином.
Для разработчиков локальных плагинов представлены новые API, включая пользовательские проверки для команды kotlin check и пользовательские команды для публичных точек входа через kotlin do, а также новый способ регистрации сгенерированных файлов через секцию generated, которая заменяет устаревшее свойство markOutputAs.
Кроме того, тип продукта lib переименован в kmp/lib для большей ясности, добавлена поддержка классификаторов Maven для зависимостей, а команда run стала умнее — если только один модуль или одна платформа подходят для текущего хоста, она выбирает их автоматически без лишних уточнений.
Вместе с этим обновлены версии по умолчанию для основных инструментов и фреймворков, включая Kotlin 2.3.21, SpringBoot 4.0.6, Ktor 3.4.3 и другие. Разработчики призывают сообщество опробовать новый инструмент и поделиться обратной связью в канале #kotlin-toolchain на Slack или через YouTrack, поскольку проект остаётся экспериментальным и активно развивается, а публикация мультиплатформенных библиотек для Kotlin Multiplatform пока находится в работе и появится в следующих релизах.
Упомянутый сервис
Комментариев пока не было