ZapretKVN-android/feature/servers/build.gradle.kts
loop-uh ac64b1b4af
Some checks failed
Android CI / build (push) Has been cancelled
Модули: :core:model и :feature:{home,servers,routing,settings}
- :core:model: типы значений для UI (состояние VPN, профили, маршруты,
  приложения, диагностика, настройки, обновления) с прежними пакетами;
  типы обновлений вынесены из :app-updater, смешанные файлы разделены.
- :feature:*: экраны, презентеры и их JVM-тесты; *Route.kt, ViewModel,
  BuildConfig и QR-лаунчеры остаются в :app. Общие флаги, release notes,
  PresetPicker, DiagnosticShareButton — в :core:designsystem, форматтер
  задержки и ScreenshotPrivacy — в :core:ui-model.
- verify-project.sh: запрет зависимости :feature:* от :app и импорта рантайма
  VPN/ViewModel/AppContainer из feature/**; пути delay и AboutPage обновлены.
- CI и build-test-bundle запускают testDebugUnitTest всех модулей.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:37:48 +03:00

50 lines
1.8 KiB
Kotlin

import com.android.build.api.dsl.LibraryExtension
plugins {
id("org.jetbrains.kotlin.plugin.compose")
}
apply(plugin = "com.android.library")
// Screens, presenters and UI mappers of one feature. They read only :core:* modules:
// state and callbacks arrive as plain arguments from the *Route.kt adapters in :app,
// so this module must never depend on :app (scripts/verify-project.sh enforces it).
extensions.configure<LibraryExtension> {
namespace = "io.github.zapretkvn.feature.servers"
compileSdk = 36
defaultConfig {
minSdk = 26
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
buildFeatures {
compose = true
}
}
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2026.06.00")
add("implementation", project(":core:model"))
add("implementation", project(":core:ui-model"))
add("implementation", project(":core:designsystem"))
add("implementation", composeBom)
add("implementation", "androidx.compose.foundation:foundation")
add("implementation", "androidx.compose.material:material-icons-core")
add("implementation", "androidx.compose.material3:material3")
add("implementation", "androidx.compose.ui:ui")
add("implementation", "androidx.compose.ui:ui-tooling-preview")
add("implementation", "androidx.core:core-ktx:1.18.0")
add("implementation", "androidx.activity:activity-compose:1.13.0")
add("implementation", "androidx.lifecycle:lifecycle-runtime-compose:2.9.4")
add("implementation", "androidx.savedstate:savedstate-compose:1.3.2")
add("implementation", "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
add("testImplementation", "junit:junit:4.13.2")
add("testImplementation", "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
}