Skip to content
Snippets Groups Projects
build.gradle 2.65 KiB
Newer Older
Sebastian's avatar
Sebastian committed
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
    id "org.jlleitschuh.gradle.ktlint" version "10.1.0"
Sebastian's avatar
Sebastian committed
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "org.briarproject.mailbox"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        multiDexEnabled true // only needed when minSdkVersion < 21
Sebastian's avatar
Sebastian committed

        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        coreLibraryDesugaringEnabled true
Sebastian's avatar
Sebastian committed
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    packagingOptions {
        exclude 'META-INF/*'
        // Due to https://github.com/Kotlin/kotlinx.coroutines/issues/2023
        exclude 'META-INF/licenses/*'
        exclude '**/attach_hotspot_windows.dll'
    }
Sebastian's avatar
Sebastian committed
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation "androidx.activity:activity-ktx:1.3.0"
    implementation "androidx.fragment:fragment-ktx:1.3.6"

    def lifecycle_version = "2.3.1"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"

    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    implementation "com.google.dagger:hilt-android:$hilt_version"
    kapt "com.google.dagger:hilt-compiler:$hilt_version"

    // Java 8
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
    // Multidex needed if we target API < 21
    def multidex_version = "2.0.1"
    implementation "androidx.multidex:multidex:$multidex_version"

    def ktorVersion = '1.6.2'
    implementation "io.ktor:ktor-server-core:$ktorVersion"
    implementation "io.ktor:ktor-server-netty:$ktorVersion"
    implementation "ch.qos.logback:logback-classic:1.2.5"

    testImplementation 'junit:junit:4.13.2'

    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

apply from: "${rootProject.rootDir}/gradle/ktlint.gradle"