geofot96/StudyBuddy

View on GitHub
app/build.gradle

Summary

Maintainability
Test Coverage
apply plugin: 'com.android.application'
apply plugin: 'jacoco'
//apply plugin: 'com.google.gms.google-services'

jacoco {
    toolVersion = "0.8.0"
}

android {
    compileSdkVersion 28
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "ch.epfl.sweng.studdybuddy"
        minSdkVersion 18
        targetSdkVersion 28
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        debug {
            testCoverageEnabled true
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    }
    productFlavors {
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

    dependencies {
        implementation 'com.android.support:cardview-v7:28.0.0'
        implementation 'com.android.support:design:28.0.0'
        implementation 'com.google.android.gms:play-services-maps:16.0.0'
        implementation 'com.google.android.gms:play-services-places:16.0.0'
        implementation 'com.google.android.gms:play-services-location:16.0.0'
        androidTestImplementation 'com.android.support.test:rules:1.0.2'
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        implementation 'com.android.support:recyclerview-v7:28.0.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation 'com.google.firebase:firebase-auth:16.0.4'
        implementation 'com.google.android.gms:play-services-auth:16.0.1'
        implementation 'com.google.firebase:firebase-core:16.0.4'
        implementation 'com.google.firebase:firebase-database:16.0.1'
        implementation 'com.android.support:animated-vector-drawable:28.0.0'
        implementation 'com.android.support:support-v4:28.0.0'
        testImplementation 'org.mockito:mockito-core:2.23.0'
        androidTestImplementation 'org.mockito:mockito-android:2.7.22'
        androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
        implementation 'com.android.support:design:28.0.0'
        implementation 'com.android.support:customtabs:28.0.0'
        implementation 'com.android.support:palette-v7:28.0.0'
        implementation 'com.firebaseui:firebase-ui:0.6.0'
        androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'

        implementation 'com.squareup.retrofit2:retrofit:2.3.0'
        implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
        implementation 'com.google.firebase:firebase-messaging:17.3.4'

        implementation "android.arch.persistence.room:runtime:1.1.1"
        annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
        androidTestImplementation "android.arch.persistence.room:testing:1.0.0"
        implementation 'com.google.code.gson:gson:2.8.5'
        implementation 'org.apache.commons:commons-lang3:3.6'
        implementation 'com.google.firebase:firebase-storage:16.0.4'
        implementation 'com.github.bumptech.glide:glide:4.8.0'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

        implementation 'com.android.support:multidex:1.0.3'

    }

tasks.withType(Test) {
    jacoco.includeNoLocationClasses = true
}



task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {

    reports {
        xml.enabled = true
        html.enabled = true
    }

    def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*', '**/*Impl*']
    def debugTree = fileTree(dir: "$project.buildDir/intermediates/classes/debug", excludes: fileFilter)
    def mainSrc = "$project.projectDir/src/main/java"

    sourceDirectories = files([mainSrc])
    classDirectories = files([debugTree])
    executionData = fileTree(dir: project.buildDir, includes: [
            'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/connected/*coverage.ec'
    ])
}

apply plugin: 'com.google.gms.google-services'