plugins {
    id "net.ltgt.apt" version "0.7"
}
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'jacoco'

dependencies {
    apt 'com.google.auto.factory:auto-factory:1.0-beta3'
    apt 'com.google.dagger:dagger:2.11-rc2'

    compileOnly 'javax.annotation:jsr250-api:1.0'
    compileOnly 'org.jetbrains:annotations-java5:15.0'
    compileOnly 'com.google.auto.factory:auto-factory:1.0-beta3'
    compileOnly 'com.google.dagger:dagger:2.11-rc2'

    implementation "com.android.support:support-annotations:$SUPPORT_LIBRARY_VERSION"
    implementation 'com.google.code.findbugs:jsr305:3.0.2'
    implementation 'org.apache.commons:commons-lang3:3.5'
    implementation 'com.google.code.gson:gson:2.7'

    testImplementation 'junit:junit:4+'
    testImplementation 'org.hamcrest:hamcrest-library:1.4-atlassian-1'
    testImplementation 'org.apache.commons:commons-io:1.3.2'
    testImplementation 'org.mockito:mockito-core:2.8.9'
    testImplementation 'org.json:json:20160810'
    testImplementation 'org.xerial:sqlite-jdbc:3.18.0'
    testImplementation 'nl.jqno.equalsverifier:equalsverifier:2.3.1'

    implementation('com.opencsv:opencsv:3.9') {
        exclude group: 'commons-logging', module: 'commons-logging'
    }
}

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

    afterEvaluate {
        classDirectories = files(classDirectories.files.collect {
            fileTree(dir: it, exclude: '**/*Factory.*')
        })
    }
}

check.dependsOn jacocoTestReport

sourceCompatibility = "1.8"
targetCompatibility = "1.8"
