11apply plugin : ' com.android.application'
22apply plugin : ' kotlin-android'
33apply plugin : ' kotlin-kapt'
4- apply plugin : " androidx.navigation.safeargs.kotlin "
4+ apply plugin : " androidx.navigation.safeargs"
55apply plugin : ' com.google.firebase.crashlytics'
66apply plugin : ' com.google.gms.google-services'
77apply plugin : ' dagger.hilt.android.plugin'
8- apply plugin : ' com.mikepenz.aboutlibraries.plugin'
98apply plugin : ' com.google.firebase.firebase-perf'
109apply plugin : ' com.github.triplet.play'
10+ apply plugin : ' com.dicedmelon.gradle.jacoco-android'
1111
1212android {
1313 compileSdkVersion Config . compile_sdk
14- buildToolsVersion Config . build_tools
1514
1615 defaultConfig {
1716 applicationId " de.psdev.devdrawer"
@@ -22,16 +21,20 @@ android {
2221
2322 testInstrumentationRunner " androidx.test.runner.AndroidJUnitRunner"
2423 multiDexEnabled true
25-
26- resConfig " en"
24+ resConfigs ' en'
2725
2826 // Version info
2927 buildConfigField ' String' , ' GIT_SHA' , " \" ${ project.ext.gitHash} \" "
3028
29+ vectorDrawables {
30+ useSupportLibrary true
31+ }
32+
3133 javaCompileOptions. annotationProcessorOptions. arguments[' room.schemaLocation' ] = rootProject. file(' schemas' ). toString()
3234 }
3335 buildFeatures {
3436 viewBinding true
37+ compose true
3538 }
3639 compileOptions {
3740 sourceCompatibility = JavaVersion . VERSION_1_8
@@ -41,11 +44,15 @@ android {
4144 jvmTarget = " 1.8"
4245 freeCompilerArgs + = [
4346 " -Xinline-classes" ,
44- " -Xopt-in=kotlin.RequiresOptIn" ,
45- " -Xopt-in=kotlin.ExperimentalStdlibApi" ,
46- " -Xopt-in=kotlin.time.ExperimentalTime" ,
47- " -Xopt-in=kotlinx.coroutines.FlowPreview" ,
48- " -Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"
47+ " -Xjvm-default=all" ,
48+ " -opt-in=kotlin.RequiresOptIn" ,
49+ " -opt-in=kotlin.ExperimentalStdlibApi" ,
50+ " -opt-in=kotlin.time.ExperimentalTime" ,
51+ " -opt-in=kotlinx.coroutines.FlowPreview" ,
52+ " -opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi" ,
53+ " -opt-in=androidx.compose.foundation.ExperimentalFoundationApi" ,
54+ " -opt-in=androidx.compose.animation.ExperimentalAnimationApi" ,
55+ " -opt-in=androidx.compose.material.ExperimentalMaterialApi"
4956 ]
5057 }
5158 testOptions {
@@ -92,18 +99,18 @@ android {
9299 }
93100 }
94101 }
95- lintOptions {
96- lintConfig project. file(' lint.xml' )
97- disable " GoogleAppIndexingWarning"
98- disable " RemoveWorkManagerInitializer"
99- enable ' Interoperability'
100- }
101102 packagingOptions {
102- exclude ' **/LICENSE'
103- exclude ' **/LICENSE.txt'
104- exclude ' **/NOTICE'
105- exclude ' **/NOTICE.txt'
106- exclude ' **/*.gwt.xml'
103+ resources {
104+ excludes + = [' **/LICENSE' , ' **/LICENSE.txt' , ' **/NOTICE' , ' **/NOTICE.txt' , ' **/*.gwt.xml' ]
105+ }
106+ }
107+ composeOptions {
108+ kotlinCompilerExtensionVersion Versions . androidXComposeCompiler
109+ }
110+ lint {
111+ disable ' GoogleAppIndexingWarning' , ' RemoveWorkManagerInitializer'
112+ enable ' Interoperability'
113+ lintConfig file(' lint.xml' )
107114 }
108115}
109116
@@ -133,28 +140,43 @@ dependencies {
133140 implementation Libs . androidx_browser
134141 implementation Libs . androidx_constraint_layout
135142 implementation Libs . androidx_core
143+ implementation " androidx.core:core-splashscreen:1.0.0"
136144 implementation Libs . androidx_fragment
137145 implementation Libs . androidx_hilt_work
138146 implementation Libs . androidx_lifecycle_viewmodel
147+ implementation Libs . androidx_lifecycle_livedata
139148 implementation Libs . androidx_lifecycle_java8
149+ implementation Libs . androidx_lifecycle_runtime
140150 implementation Libs . androidx_lifecycle_process
141151 implementation Libs . androidx_navigation_fragment
142152 implementation Libs . androidx_navigation_ui
153+ implementation " androidx.navigation:navigation-compose:$Versions . androidXNavigation "
143154 implementation Libs . androidx_preference
144155 implementation Libs . androidx_recyclerview
145156 implementation Libs . androidx_recyclerview_selection
146157 implementation Libs . androidx_room_runtime
147158 implementation Libs . androidx_room_ktx
148159 implementation Libs . androidx_work_runtime
149160 implementation Libs . androidx_work_gcm
161+ implementation ' androidx.activity:activity-compose:1.5.1'
162+ implementation " androidx.compose.ui:ui:$Versions . androidXCompose "
163+ implementation " androidx.compose.foundation:foundation:$Versions . androidXCompose "
164+ implementation " androidx.compose.material:material:$Versions . androidXCompose "
165+ implementation " androidx.compose.material:material-icons-core:$Versions . androidXCompose "
166+ implementation " androidx.compose.material:material-icons-extended:$Versions . androidXCompose "
167+ implementation " androidx.compose.ui:ui-tooling:$Versions . androidXCompose "
168+
169+ implementation " androidx.lifecycle:lifecycle-viewmodel-compose:$Versions . androidXLifecycle "
170+ implementation ' androidx.hilt:hilt-navigation-compose:1.0.0'
171+ androidTestImplementation " androidx.compose.ui:ui-test-junit4:$Versions . androidXCompose "
150172 kapt Libs . androidx_room_compiler
151173 kapt Libs . androidx_hilt_compiler
152174
153175 // Android Material
154176 implementation Libs . material_components
155177
156178 // Color Picker
157- implementation " com.github.dhaval2404:colorpicker:2.0 "
179+ implementation " com.github.dhaval2404:colorpicker:2.3 "
158180
159181 // Dagger
160182 implementation Libs . daggerHiltAndroid
@@ -182,8 +204,8 @@ dependencies {
182204 implementation Libs . kotlinCoroutinesAndroid
183205
184206 // LeakCanary
185- debugImplementation Libs . leakCanary
186- implementation Libs . leakCanaryPlumberAndroid
207+ // debugImplementation Libs.leakCanary
208+ // implementation Libs.leakCanaryPlumberAndroid
187209
188210 // Logging
189211 implementation Libs . slf4jAndroidLogger
@@ -200,6 +222,10 @@ kapt {
200222 correctErrorTypes true
201223}
202224
225+ jacoco {
226+ toolVersion = " 0.8.7"
227+ }
228+
203229play {
204230 def serviceAccountFileName = " google-play-api.json"
205231 if (rootProject. file(serviceAccountFileName). exists()) {
0 commit comments