1+ apply plugin : ' com.android.application'
2+ apply plugin : ' kotlin-android'
3+ apply plugin : ' kotlin-android-extensions'
4+ apply plugin : ' kotlin-kapt'
5+ apply plugin : " androidx.navigation.safeargs.kotlin"
6+
7+ android {
8+ compileSdkVersion 30
9+ buildToolsVersion " 30.0.0"
10+
11+ defaultConfig {
12+ applicationId " com.koshsu.githubsearch"
13+ minSdkVersion 21
14+ targetSdkVersion 30
15+ versionCode 1
16+ versionName " 1.0"
17+
18+ testInstrumentationRunner " androidx.test.runner.AndroidJUnitRunner"
19+ }
20+
21+ buildTypes {
22+ release {
23+ minifyEnabled false
24+ proguardFiles getDefaultProguardFile(' proguard-android-optimize.txt' ), ' proguard-rules.pro'
25+ }
26+ }
27+
28+ compileOptions {
29+ sourceCompatibility JavaVersion . VERSION_1_8
30+ targetCompatibility JavaVersion . VERSION_1_8
31+ }
32+
33+ kotlinOptions {
34+ jvmTarget = " 1.8"
35+ }
36+
37+ buildFeatures {
38+ dataBinding true
39+ }
40+
41+ }
42+
43+ dependencies {
44+ implementation fileTree(dir : " libs" , include : [" *.jar" ])
45+ testImplementation ' junit:junit:4.12'
46+
47+ // Android
48+ implementation " androidx.core:core-ktx:1.3.2"
49+ implementation ' androidx.legacy:legacy-support-v4:1.0.0'
50+
51+ // Kotlin
52+ implementation " org.jetbrains.kotlin:kotlin-stdlib:1.4.10"
53+
54+ // Coroutines
55+ def coroutines_version = ' 1.3.6'
56+ implementation " org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version "
57+ implementation " org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version "
58+
59+ // ViewModel & LiveData
60+ def lifecycle_version = ' 2.2.0'
61+ implementation " androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version "
62+ implementation " androidx.lifecycle:lifecycle-extensions:$lifecycle_version "
63+ implementation " androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version "
64+
65+ // Material Design & Widgets
66+ implementation ' com.google.android.material:material:1.2.1'
67+ implementation ' androidx.appcompat:appcompat:1.2.0'
68+ implementation ' androidx.constraintlayout:constraintlayout:2.0.4'
69+
70+ // Kodein (DI)
71+ def kodein_version = ' 6.2.1'
72+ implementation " org.kodein.di:kodein-di-generic-jvm:$kodein_version "
73+ implementation " org.kodein.di:kodein-di-framework-android-x:$kodein_version "
74+
75+ // Retrofit and GSON
76+ def retrofit_version = ' 2.9.0'
77+ implementation " com.squareup.retrofit2:retrofit:$retrofit_version "
78+ implementation " com.squareup.retrofit2:converter-gson:$retrofit_version "
79+
80+ // Room (DB)
81+ def room_version = ' 2.2.5'
82+ implementation " androidx.room:room-runtime:$room_version "
83+ implementation " androidx.room:room-ktx:$room_version "
84+ kapt " androidx.room:room-compiler:$room_version "
85+
86+ // Navigation Architecture
87+ def navigation_version = ' 2.3.1'
88+ implementation " androidx.navigation:navigation-fragment-ktx:$navigation_version "
89+ implementation " androidx.navigation:navigation-ui-ktx:$navigation_version "
90+
91+ // Glide
92+ def glide_version = ' 4.11.0'
93+ implementation " com.github.bumptech.glide:glide:$glide_version "
94+ kapt " com.github.bumptech.glide:compiler:$glide_version "
95+
96+ // Preference
97+ implementation ' androidx.preference:preference-ktx:1.1.1'
98+ }
0 commit comments