Skip to content

Commit ed9c814

Browse files
authored
Update build.gradle
1 parent 400596f commit ed9c814

File tree

1 file changed

+38
-19
lines changed

1 file changed

+38
-19
lines changed

app/build.gradle

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ plugins {
22
id 'com.android.application'
33
id 'kotlin-android'
44
id 'kotlin-kapt'
5+
id 'kotlin-parcelize'
6+
id 'kotlinx-serialization'
57
id 'dagger.hilt.android.plugin'
68
id 'com.google.gms.google-services'
7-
id 'kotlin-parcelize'
9+
id 'com.google.firebase.crashlytics'
810
}
911

1012
android {
@@ -13,14 +15,14 @@ android {
1315

1416
defaultConfig {
1517
applicationId "com.github.muneebwanee.dash"
16-
minSdk 24
18+
minSdk 26
1719
targetSdk 34
18-
versionCode 1
20+
versionCode 2
1921
versionName "3.0.0"
2022
multiDexEnabled true
2123
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2224

23-
// Secure API key management
25+
// Secure configuration
2426
Properties properties = new Properties()
2527
if (rootProject.file("local.properties").exists()) {
2628
properties.load(rootProject.file("local.properties").newDataInputStream())
@@ -42,32 +44,41 @@ android {
4244
buildTypes {
4345
release {
4446
minifyEnabled true
47+
shrinkResources true
4548
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
4649
}
4750
debug {
4851
applicationIdSuffix ".debug"
4952
debuggable true
53+
minifyEnabled false
5054
}
5155
}
5256

5357
compileOptions {
54-
sourceCompatibility JavaVersion.VERSION_1_8
55-
targetCompatibility JavaVersion.VERSION_1_8
58+
sourceCompatibility JavaVersion.VERSION_17
59+
targetCompatibility JavaVersion.VERSION_17
5660
}
5761

5862
kotlinOptions {
59-
jvmTarget = '1.8'
63+
jvmTarget = '17'
6064
freeCompilerArgs += [
6165
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
62-
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api"
66+
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
67+
"-opt-in=kotlinx.serialization.ExperimentalSerializationApi"
6368
]
6469
}
6570

6671
packagingOptions {
6772
resources {
68-
excludes += '/META-INF/{AL2.0,LGPL2.1}'
73+
excludes += ['/META-INF/{AL2.0,LGPL2.1}', '/META-INF/gradle/incremental.annotation.processors']
6974
}
7075
}
76+
77+
lint {
78+
checkReleaseBuilds false
79+
abortOnError false
80+
disable 'MissingTranslation'
81+
}
7182
}
7283

7384
dependencies {
@@ -78,6 +89,7 @@ dependencies {
7889
implementation 'androidx.fragment:fragment-ktx:1.6.2'
7990
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
8091
implementation 'androidx.multidex:multidex:2.0.1'
92+
implementation 'androidx.startup:startup-runtime:1.1.1'
8193

8294
// Material Design 3
8395
implementation 'com.google.android.material:material:1.11.0'
@@ -87,6 +99,7 @@ dependencies {
8799
implementation 'androidx.compose.ui:ui'
88100
implementation 'androidx.compose.ui:ui-tooling-preview'
89101
implementation 'androidx.compose.material3:material3'
102+
implementation 'androidx.compose.material:material-icons-extended'
90103
implementation 'androidx.activity:activity-compose:1.8.2'
91104
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0'
92105
implementation 'androidx.navigation:navigation-compose:2.7.5'
@@ -96,6 +109,7 @@ dependencies {
96109
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.7.0'
97110
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
98111
implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.7.0'
112+
implementation 'androidx.lifecycle:lifecycle-process:2.7.0'
99113

100114
// Navigation
101115
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.5'
@@ -111,6 +125,7 @@ dependencies {
111125

112126
// DataStore (modern SharedPreferences)
113127
implementation 'androidx.datastore:datastore-preferences:1.0.0'
128+
implementation 'androidx.datastore:datastore-core:1.0.0'
114129

115130
// Firebase BOM for version management
116131
implementation platform('com.google.firebase:firebase-bom:32.7.0')
@@ -119,43 +134,41 @@ dependencies {
119134
implementation 'com.google.firebase:firebase-storage'
120135
implementation 'com.google.firebase:firebase-analytics'
121136
implementation 'com.google.firebase:firebase-crashlytics'
137+
implementation 'com.google.firebase:firebase-messaging'
122138

123139
// Google Play Services
124140
implementation 'com.google.android.gms:play-services-maps:18.2.0'
125141
implementation 'com.google.android.gms:play-services-location:21.0.1'
142+
implementation 'com.google.android.gms:play-services-auth:20.7.0'
126143

127144
// Dependency Injection - Hilt
128-
implementation "com.google.dagger:hilt-android:$hilt_version"
145+
implementation 'com.google.dagger:hilt-android:2.48.1'
129146
implementation 'androidx.hilt:hilt-work:1.1.0'
130147
implementation 'androidx.hilt:hilt-navigation-compose:1.1.0'
131-
kapt "com.google.dagger:hilt-compiler:$hilt_version"
148+
kapt 'com.google.dagger:hilt-compiler:2.48.1'
132149
kapt 'androidx.hilt:hilt-compiler:1.1.0'
133150

134151
// Coroutines & Flow
135152
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
136153
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.3'
137154

138-
// RxJava3 (for legacy compatibility)
139-
implementation 'io.reactivex.rxjava3:rxjava:3.1.8'
140-
implementation 'io.reactivex.rxjava3:rxandroid:3.0.2'
141-
implementation 'io.reactivex.rxjava3:rxkotlin:3.0.1'
142-
143155
// Networking & Serialization
144156
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
145157
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
146158
implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
147159
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0'
148160

149161
// Image Loading
150-
implementation "com.github.bumptech.glide:glide:$glide_version"
162+
implementation 'com.github.bumptech.glide:glide:4.16.0'
151163
implementation 'io.coil-kt:coil-compose:2.5.0'
152-
kapt "com.github.bumptech.glide:compiler:$glide_version"
164+
kapt 'com.github.bumptech.glide:compiler:4.16.0'
153165

154166
// Camera
155167
implementation 'androidx.camera:camera-core:1.3.1'
156168
implementation 'androidx.camera:camera-camera2:1.3.1'
157169
implementation 'androidx.camera:camera-lifecycle:1.3.1'
158170
implementation 'androidx.camera:camera-view:1.3.1'
171+
implementation 'androidx.camera:camera-extensions:1.3.1'
159172

160173
// Permissions
161174
implementation 'com.google.accompanist:accompanist-permissions:0.32.0'
@@ -165,13 +178,19 @@ dependencies {
165178
implementation 'com.airbnb.android:lottie:6.2.0'
166179
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
167180

168-
// Security
181+
// Security & Encryption
169182
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
183+
implementation 'androidx.biometric:biometric:1.1.0'
184+
185+
// Modern replacements for old libraries
186+
implementation 'com.jakewharton.timber:timber:5.0.1'
187+
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
170188

171189
// Testing
172190
testImplementation 'junit:junit:4.13.2'
173191
testImplementation 'org.mockito:mockito-core:5.7.0'
174192
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
193+
testImplementation 'androidx.arch.core:core-testing:2.2.0'
175194
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
176195
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
177196
androidTestImplementation 'androidx.compose.ui:ui-test-junit4'

0 commit comments

Comments
 (0)