plugins {
    id 'java'
    id 'application'
}

mainClassName = "org.mercury_im.messenger.cli.MercuryCli"

repositories {
    mavenCentral()
}

// 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')
    implementation project(':data')

    implementation "io.requery:requery:$requeryVersion"
    implementation "com.h2database:h2:1.4.200"

    // 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"

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

    implementation 'org.igniterealtime.smack:smack-tcp'
    implementation 'org.igniterealtime.smack:smack-java8-full'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

run {
    standardInput = System.in
}

