apply plugin: 'java-library'

sourceSets {
    //main.java.srcDirs += "${buildDir}/generated/sources/annotationProcessor/java/main/"
    test.java.srcDirs += "${buildDir}/generated/sources/annotationProcessor/java/test/"
}

dependencies {

    implementation project(':entity')

    // Smack
    // Not all of those are needed, but it may be a good idea to define those versions explicitly
    api "org.igniterealtime.smack:smack-core:$smackCoreVersion"
    api "org.igniterealtime.smack:smack-experimental:$smackExperimentalVersion"
    api "org.igniterealtime.smack:smack-extensions:$smackExtensionsVersion"
    api "org.igniterealtime.smack:smack-im:$smackImVersion"
    api "org.igniterealtime.smack:smack-tcp:$smackTcpVersion"
    api "org.igniterealtime.smack:smack-openpgp:$smackOpenpgpVersion"

    testImplementation "org.igniterealtime.smack:smack-java7:$smackJava7Version"

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

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

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

    // JUnit for testing
    testImplementation "junit:junit:$junitVersion"
}

sourceCompatibility = "8"
targetCompatibility = "8"
