Amper - билд система от JetBrains, которая работал поверх Gradle, теперь обзавелась своим движком для выполнения. Это одна из новинок релиза 0.3. Как попробовать Amper смотрите тут
#amper #gradle
#amper #gradle
👍22❤2
Forwarded from Android Broadcast
Статья про Gradle Convention Plugins(8м) - фича, которая позволяет переиспользовать код между Gradle скриптами, что очень актуально для KTS. Автор описал полный пример настройки и применения
#gradle
#gradle
👍30👎2
Также ждут и улучшения в Gradle для KMP в 2024
👉 Объявление зависимостей проекта на уровне проекта, а не через KMP плагин
👉 Лучше интеграция инструментов Kotlin/Native
👉 Поддержка klib
👉 Предоставление полной поддержки KMP в Declarative Gradle
Также ведут работу над поддержкой Gradle Project Isolation, документацию по API Kotlin Gradle плашина и др. инициативы
#gradle #kmp
👉 Объявление зависимостей проекта на уровне проекта, а не через KMP плагин
👉 Лучше интеграция инструментов Kotlin/Native
👉 Поддержка klib
👉 Предоставление полной поддержки KMP в Declarative Gradle
Также ведут работу над поддержкой Gradle Project Isolation, документацию по API Kotlin Gradle плашина и др. инициативы
#gradle #kmp
👍22❤1
👉 Новые фичи языка (разберу отдельно в @kotlin_broadcast, но ничего такого)
👉 Улучшения K2 компилятора, что также повлияло и на kapt (который deprecated)
👉 KMP Базовая поддержка Swift Export, стабильный Gradle для опций компилятора и много чего ещё
👉 В Kotlin/Native улучшили поддержку iosArm64
👉 Поддержка новых версий Gradle и Android Gradle Plugin
Ждем багфиксы в 2.1.10 и потом обновляемся. За разборами с большими подробностями идите в @kotlin_broadcast
#kotlin #gradle #k2 #kmp #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍8🎉4❤2
KMMBridge — это мощный Gradle-плагин для публикации Kotlin Multiplatform Xcode Framework в Swift Package Manager (SPM) и CocoaPods, что позволяет интегрировать мультиплфторменные решения быстрее и прозрачнее
Что нового в версии 1.1.0?
🛠 Сделан серьезный рефакторинг под капотом
🚀 Поддержка Gradle Configuration Cache, ускоряющая сборки.
👉 Модульная структура по фичам, упрощающая поддержку.
🔒 Упрощение публичного API, чтобы избежать случайного использования внутренних частей.
Для перехода на новую версию потребуется выполнить миграцию. Авторы подготовили подробное руководство.
#kmp #spm #cocoapods #gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Forwarded from Android Broadcast
В новом видео показываю как настроить публикации для Android и Kotlin Multiplatform библиотеки в Gradle с новым механизмом подписи артефактов для Maven Central в 2024
#AndroidBroadcast #видео #gradle #maven #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍4
🎉 KAPT переезжает на K2 и теперь будет работать в этом режиме
#kotlin #kapt #gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉29👍6
KotlinX Coroutines уже давно обзавелись своим BOM-ом, подключайте
#kotlin #gradle #coroutines
dependencies {
implementation(platform(libs.kotlinx.coroutines.bom))
implementation(libs.kotlinx.coroutines.core)
}#kotlin #gradle #coroutines
🔥35👍10
👉 Поддержка Gradle Project Isolation (подробнее об этой функции здесь)
👉 Улучшение отчетов по компиляции Kotlin
👉 Поддержка Declarative Gradle
👉 Улучшение интеграции инструментов Kotlin/Native в Gradle
👉 Выпуск стабильных аргументов компилятора в Gradle DSL для упрощения конфигурации проектов на Kotlin и KMP
#kotlin #gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Новое DSL на замену Gradle Application плагина
В Kotlin 2.1.20 появилось новое экспериментальное DSL для замены функций Gradle Application плагин (несовместим с KMP Gradle плагин, начиная с Gradle 8.7)
#kotlin #gradle #kmp
В Kotlin 2.1.20 появилось новое экспериментальное DSL для замены функций Gradle Application плагин (несовместим с KMP Gradle плагин, начиная с Gradle 8.7)
kotlin {
jvm {
@OptIn(ExperimentalKotlinGradlePluginApi::class)
binaries {
// Configures a JavaExec task named "runJvm"
// and a Gradle distribution for the "main" compilation in this target
executable {
mainClass.set("foo.MainKt")
}
// Configures a JavaExec task named "runJvmAnother"
// and a Gradle distribution for the "main" compilation
executable(KotlinCompilation.MAIN_COMPILATION_NAME, "another") {
// Set a different class
mainClass.set("foo.MainAnotherKt")
}
// Configures a JavaExec task named "runJvmTest"
// and a Gradle distribution for the "test" compilation
executable(KotlinCompilation.TEST_COMPILATION_NAME) {
mainClass.set("foo.MainTestKt")
}
// Configures a JavaExec task named "runJvmTestAnother"
// and a Gradle distribution for the "test" compilation
executable(KotlinCompilation.TEST_COMPILATION_NAME, "another") {
mainClass.set("foo.MainAnotherTestKt")
}
}
}
}
#kotlin #gradle #kmp
👍15
Команда Kotlin обновляет дорожную карту каждые полгода, подводя итоги и планируя следующие шаги:
Compose Multiplatform
👉 Перевести Compose Multiplatform for Web в Beta
👉 Выпустить больше Jetpack библиотек для KMP. В первую очередь Navigation 3 и Paging 3
👉 Новый компонент для ввода текста на iOS с целью чтобы сделать его максимально нативным по виду и поведению
👉 Унификация Compose Preview аннотации (сейчас их 3 с разными пакетами)
Kotlin Multiplatform IDE плагин
👉 Поддержка работы плагина на Windows и Linux, но там не будет поддержки работы со Swift и сборки под Apple платформы
👉 Возможность просмотра документации подключенных Swift/Obj-C библиотек
👉 Поддержка Swift 6.2 и Xсode 2026
👉 Улучшение навигации и рефакторинга кросс языков
👉 Улучшение работы Compose Preview в common
Kotlin/Native и Kotlin/iOS
👉 Развитие Swift Export и стабильный релиз в 2026 году
👉 Поддержать Kotlin Coroutines и Flow в Swift Export
👉 Сокращение времени сборки
Kotlin/JS
👉 Автоматическое переключение на Kotlin/JS для Compose for Web, когда WASM таргет не работает
👉 Расширение возможностей JavaScript Export: suspend функции, value классы, typealias и другие
Kotlin/WASM
👉 Релиз Kotlin/WASM Beta
👉 Поддержка многомодульной компиляции для динамической загрузки
Инструменты для сборки
👉 Сделать конфигурацию Gradle сборки удобнее
👉 Упростить публикацию KMP библиотек
👉 Предоставление Build tools API для удобства интеграции с разными билд системами
👉 Ускорение сборки и процесса импорта проекта в Gradle
#kotlin #compose #wasm #ios #native #gradle #idea #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍6❤4
Google анонсировала официальный Gradle-плагин com.android.kotlin.multiplatform.library для настройки Android-таргета в Kotlin Multiplatform (KMP). Это станет стандартом для будущей разработки KMP-библиотек.
➡️ Зачем нужен отдельный плагин?
🛠 Простота конфигурации: Упрощение настройки KMP-проектов под Android в Gradle.
⚖️ Чем отличается от обычного com.android.library?
Новый плагин заточен именно под библиотеки и лишён избыточных функций:
❌ Нет поддержки множественных вариантов сборки (productFlavors)
❌ Нет поддержки C/C++, AIDL, RenderScript
❌ Нет встроенных возможностей View Binding, Data Binding
❌ Тесты и Android-ресурсы отключены по умолчанию
❌ Компиляция Java отключена по умолчанию (но есть опция включения)
// Пример конфигурации в Gradle Kotlin DSL
plugins {
alias(libs.plugins.kotlin.multiplatform) // Kotlin 2.0+
alias(libs.plugins.android.kotlin.multiplatform.library) // AGP 8.10+
}
// Такого DSL больше не будет для Android KMP библиотеки
android {}
kotlin {
androidLibrary {
namespace = "dev.androidbroadcast.kmplib"
compileSdk = 36
minSdk = 24
enableAndroidResources = true // Включение ресурсов
withJava() // Включение Java
// Настройка тестов для хоста (JVM)
withHostTestBuilder { }
// Настройка инструментальных тестов на устройстве
withDeviceTestBuilder {
sourceSetTreeName = "test"
}
compilations.configureEach {
compilerOptions.configure {
jvmTarget.set(JvmTarget.JVM_21)
}
}
}
sourceSets {
androidMain { ... }
androidHostTest { ... }
androidDeviceTest { ... }
}
}
💬 Что думаете о новом плагине? Уже успели попробовать? Делитесь мнением в комментариях!
#android #kmp #kotlin #gradle #news
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆29🎉10👍8🤔3
Основные улучшения:
✅ Язык: больше стабильных и включённых по умолчанию фич
✅ Kotlin/JVM: поддержка Java 25.
✅ Kotlin/Native: улучшенная совместимость с Swift export и включённые по умолчанию проверки типов на границах дженериков🔥
✅ Kotlin/Wasm: включены полные имена и новая система обработки исключений.
✅ Kotlin/JS: экспериментальный экспорт suspend-функций и новая реализация LongArray.
✅ Gradle: поддержка Gradle 9.0 и новый API для регистрации сгенерированных исходников.
✅ Стандартная библиотека: kotlin.time.Clock и kotlin.time.Instant теперь Stable.
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤6🔥2