build.gradle.kts 4,6 КБ
Newer Older
Radch-enko's avatar
Radch-enko включено в состав коммита
1
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
Radch-enko's avatar
Radch-enko включено в состав коммита
2
3
4
5
6
7

plugins {
    id("org.jetbrains.kotlin.multiplatform")
    id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
    id("org.jetbrains.compose")
    id("com.android.application")
Radch-enko's avatar
Radch-enko включено в состав коммита
8
    id("org.jetbrains.kotlin.plugin.serialization") version "2.1.21"
Radch-enko's avatar
Radch-enko включено в состав коммита
9
    alias(libs.plugins.buildkonfig)
Radch-enko's avatar
Radch-enko включено в состав коммита
10
    id("com.google.gms.google-services") version "4.4.3"
Radch-enko's avatar
Radch-enko включено в состав коммита
11
12
13
}

kotlin {
Radch-enko's avatar
Radch-enko включено в состав коммита
14
    androidTarget()
Radch-enko's avatar
Radch-enko включено в состав коммита
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "ComposeApp"
            isStatic = true
        }
    }

    sourceSets {
        commonMain.dependencies {
            implementation(compose.runtime)
            implementation(compose.foundation)
            implementation(compose.material3)
            implementation(compose.components.resources)
            implementation(compose.components.uiToolingPreview)
Radch-enko's avatar
Radch-enko включено в состав коммита
34

Radch-enko's avatar
Radch-enko включено в состав коммита
35
36
37
38
39
            implementation(libs.decompose)
            implementation(libs.decompose.compose.jetbrains)

            implementation(libs.kotlin.coroutines.core)

Radch-enko's avatar
Radch-enko включено в состав коммита
40
41
42
43
            implementation(libs.bundles.koin)

            implementation(libs.napier)

Radch-enko's avatar
Radch-enko включено в состав коммита
44
            implementation(libs.settings)
Radch-enko's avatar
Radch-enko включено в состав коммита
45

Radch-enko's avatar
Radch-enko включено в состав коммита
46
47
            implementation(project(":clients:tablet:core:ui"))
            implementation(project(":clients:tablet:feature:main"))
Radch-enko's avatar
Radch-enko включено в состав коммита
48
            implementation(project(":clients:tablet:feature:settings"))
Radch-enko's avatar
Radch-enko включено в состав коммита
49
            implementation(project(":clients:tablet:feature:bookingEditor"))
Radch-enko's avatar
Radch-enko включено в состав коммита
50
51
52

            implementation(project(":clients:tablet:core:data"))
            implementation(project(":clients:tablet:core:domain"))
Radch-enko's avatar
Radch-enko включено в состав коммита
53
54
55
56
        }
        androidMain.dependencies {
            implementation(compose.uiTooling)
            implementation(libs.androidx.activityCompose)
Radch-enko's avatar
Radch-enko включено в состав коммита
57
            implementation(libs.koin.android)
Radch-enko's avatar
Radch-enko включено в состав коммита
58
            implementation("org.slf4j:slf4j-android:1.7.36")
Radch-enko's avatar
Radch-enko включено в состав коммита
59
            implementation(libs.firebase.messaging.ktx)
Radch-enko's avatar
Radch-enko включено в состав коммита
60
61
62
63
64
65
        }
    }
}

android {
    namespace = "band.effective.office.tablet"
Radch-enko's avatar
Radch-enko включено в состав коммита
66
    compileSdk = libs.versions.android.compileSdk.get().toInt()
Radch-enko's avatar
Radch-enko включено в состав коммита
67
68

    defaultConfig {
Radch-enko's avatar
Radch-enko включено в состав коммита
69
70
        minSdk = libs.versions.android.minSdk.get().toInt()
        targetSdk = libs.versions.android.targetSdk.get().toInt()
Radch-enko's avatar
Radch-enko включено в состав коммита
71

Radch-enko's avatar
Radch-enko включено в состав коммита
72
        applicationId = "band.effective.office.tablet"
Radch-enko's avatar
Radch-enko включено в состав коммита
73
74
75
76
        versionCode = 1
        versionName = "1.0.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Radch-enko's avatar
Radch-enko включено в состав коммита
77
78
79
80
81
82
83
84
85

        buildFeatures {
            buildConfig = true
        }

        compileOptions {
            sourceCompatibility = JavaVersion.VERSION_17
            targetCompatibility = JavaVersion.VERSION_17
        }
Radch-enko's avatar
Radch-enko включено в состав коммита
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112

        signingConfigs {
            getByName("debug") {
                keyAlias = "androiddebugkey"
                keyPassword = "android"
                storeFile = file("${rootDir}/keystore/debug.keystore")
                storePassword = "android"
            }
            create("release") {
                keyAlias = System.getenv()["OFFICE_ELEVATOR_RELEASE_ALIAS"]
                keyPassword = System.getenv()["OFFICE_ELEVATOR_RELEASE_KEY_PASSWORD"]
                storeFile = file("${rootDir}/keystore/main.keystore")
                storePassword = System.getenv()["OFFICE_ELEVATOR_RELEASE_STORE_PASSWORD"]
            }
        }

        buildTypes {
            getByName("debug") {
                signingConfig = signingConfigs.getByName("debug")
                isDebuggable = true
            }
            getByName("release") {
                signingConfig = signingConfigs.getByName("debug")
                isDebuggable = false
                isMinifyEnabled = false
            }
        }
Radch-enko's avatar
Radch-enko включено в состав коммита
113
    }
Radch-enko's avatar
Radch-enko включено в состав коммита
114
115
116
117
118
119

    packaging {
        resources {
            excludes += "/META-INF/INDEX.LIST"
        }
    }
Radch-enko's avatar
Radch-enko включено в состав коммита
120
121
122
123
}

val apiUrlRelease: String = gradleLocalProperties(rootDir, providers).getProperty("api.url.release")
val apiUrlDebug: String = gradleLocalProperties(rootDir, providers).getProperty("api.url.debug")
Radch-enko's avatar
Radch-enko включено в состав коммита
124
val apiKey: String = gradleLocalProperties(rootDir, providers).getProperty("apiKey")
Radch-enko's avatar
Radch-enko включено в состав коммита
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

buildkonfig {
    packageName = "band.effective.office.tablet"
    exposeObjectWithName = "BuildKonfig"
    defaultConfigs {
        buildConfigField(
            com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING,
            "API_URL_RELEASE",
            apiUrlRelease,
        )

        buildConfigField(
            com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING,
            "API_URL_DEBUG",
            apiUrlDebug,
        )
Radch-enko's avatar
Radch-enko включено в состав коммита
141
142
143
144
145
146

        buildConfigField(
            com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING,
            "API_KEY",
            apiKey,
        )
Radch-enko's avatar
Radch-enko включено в состав коммита
147
148
    }
}