plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("org.jetbrains.kotlin.plugin.compose") id("com.google.devtools.ksp") id("com.google.dagger.hilt.android") } android { namespace = "com.ryanair.androidchallenge" compileSdk = 35 defaultConfig { applicationId = "com.ryanair.androidchallenge" versionCode = 1 versionName = "1.0" multiDexEnabled = true minSdk = 28 targetSdk = 35 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { getByName("debug") { isDebuggable = true isMinifyEnabled = false isShrinkResources = false } getByName("release") { isMinifyEnabled = true proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = JavaVersion.VERSION_17.toString() } buildFeatures { viewBinding = true compose = true } } dependencies { val composeBom = platform("androidx.compose:compose-bom:2025.04.01") implementation(composeBom) implementation("androidx.compose.material3:material3") implementation("androidx.compose.material:material-icons-core") implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.activity:activity-compose:1.10.1") implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.9.0") implementation("androidx.core:core-ktx:1.16.0") implementation("androidx.appcompat:appcompat:1.7.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.0") // Dependency Injection implementation("com.google.dagger:hilt-android:2.56.2") ksp("com.google.dagger:hilt-compiler:2.56.2") // Network ksp("com.squareup.moshi:moshi-kotlin-codegen:1.15.2") implementation("com.squareup.moshi:moshi:1.15.2") implementation("com.squareup.retrofit2:retrofit:2.11.0") implementation("com.squareup.retrofit2:converter-moshi:2.11.0") implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") }