build.gradle 3.61 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
apply plugin: "com.android.application"
apply plugin: "kotlin-android"
apply plugin: "kotlin-android-extensions"
apply plugin: "kotlinx-serialization"
apply plugin: "kotlin-kapt"

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "fr.chenry.android.freshrss"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    def lifecycle_version = "2.0.0"
    def room_version = "2.1.0-alpha03"
    def fuel_version = "1.16.0"
    def espresso_version = "3.1.1"
    def test_runnner_version = "1.1.1"
    def promise_version = "3.3.0"
    def android_support_version = "28.0.0"

    implementation 'androidx.legacy:legacy-support-v4:1.0.0-beta01'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-beta01'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0'
    configurations {
        all*.exclude group: 'com.google.guava', module: 'listenablefuture'
    }

    implementation fileTree(dir: "libs", include: ["*.jar"])
Christophe Henry's avatar
Christophe Henry committed
45 46

    // Kotlin stuff
47 48
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
Christophe Henry's avatar
Christophe Henry committed
49 50

    // Compat libraries
51 52 53 54
    implementation "com.android.support:appcompat-v7:$android_support_version"
    implementation "com.android.support:preference-v7:$android_support_version"
    implementation "com.android.support:support-core-utils:$android_support_version"
    implementation "com.android.support:support-fragment:$android_support_version"
Christophe Henry's avatar
Christophe Henry committed
55 56 57
    implementation "com.android.support:support-compat:28.0.0"

    // AndroidX layout
58 59 60 61 62 63 64 65 66 67 68 69
    implementation "androidx.appcompat:appcompat:1.0.0-beta01"
    implementation "androidx.core:core-ktx:1.1.0-alpha03"
    implementation "com.google.android.material:material:1.0.0-beta01"
    implementation "androidx.constraintlayout:constraintlayout:1.1.3"
    implementation "androidx.recyclerview:recyclerview:1.0.0"

    // ViewModel and LiveData
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"
    testImplementation "androidx.arch.core:core-testing:$lifecycle_version"

Christophe Henry's avatar
Christophe Henry committed
70
    // Room
71 72 73 74 75 76 77 78 79 80 81 82 83 84
    implementation "androidx.room:room-runtime:$room_version"
    kapt "androidx.room:room-compiler:$room_version"
    implementation "androidx.room:room-rxjava2:$room_version"
    implementation "androidx.room:room-guava:$room_version"
    implementation "androidx.room:room-coroutines:$room_version"
    testImplementation "androidx.room:room-testing:$room_version"

    implementation "com.github.kittinunf.fuel:fuel:$fuel_version"
    implementation "com.github.kittinunf.fuel:fuel-android:$fuel_version"
    implementation "com.github.kittinunf.fuel:fuel-kotlinx-serialization:$fuel_version"

    implementation "nl.komponents.kovenant:kovenant:$promise_version"
    implementation "nl.komponents.kovenant:kovenant-android:$promise_version"

Christophe Henry's avatar
Christophe Henry committed
85
    // Utils
86
    implementation "org.apache.commons:commons-text:1.4"
Christophe Henry's avatar
Christophe Henry committed
87 88 89 90 91

    // Tests
    testImplementation "junit:junit:4.12"
    androidTestImplementation "androidx.test:runner:$test_runnner_version"
    androidTestImplementation "androidx.test.espresso:espresso-core:$espresso_version"
92
}