apply plugin: 'java-library'

// Add the generated folder to the source directories so that we can work with generated classes
// This is apparently necessary for use with requery.
sourceSets {
    main.java.srcDirs += "${buildDir}/generated/sources/annotationProcessor/java/main/"
    test.java.srcDirs += "${buildDir}/generated/sources/annotationProcessor/java/test/"
}

dependencies {

    implementation project(":entity")
    implementation project(':domain')

    compileOnly "org.projectlombok:lombok:$lombokVersion"
    annotationProcessor "org.projectlombok:lombok:$lombokVersion"

    // RxJava2
    implementation "io.reactivex.rxjava2:rxjava:$rxJava2Version"

    // Dagger 2 for dependency injection
    implementation "com.google.dagger:dagger:$daggerVersion"
    annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
    testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"

    // Requery ORM
    api "io.requery:requery:$requeryVersion"
    annotationProcessor "io.requery:requery-processor:$requeryVersion"

    implementation 'com.google.code.findbugs:jsr305:3.0.2'

    // JUnit for testing
    testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
    testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"

    testImplementation 'org.xerial:sqlite-jdbc:3.30.1'
}

sourceCompatibility = "8"
targetCompatibility = "8"
