buildscript {
    repositories {
        mavenLocal()
        jcenter()
    }
    dependencies {
        classpath 'io.v:gradle-plugin:1.9'
    }
}

apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.application'

apply plugin: 'io.v.vdl'
vdl {
    inputPaths += 'src/main/java'
}

/*
You might have to download JDK8 and set JAVA8_HOME (or set the jdk to Java 8 via Project Structure).
For detailed instructions, see https://github.com/evant/gradle-retrolambda
 */
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'flutter'

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    defaultConfig {
        applicationId "io.baku.examples.distro"
        minSdkVersion 21
        multiDexEnabled true
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    lintOptions {
        disable 'InvalidPackage'
    }
}

flutter {
    source 'src/flutter'
}

repositories {
    mavenLocal()
    jcenter()
}

dependencies {
    provided 'org.projectlombok:lombok:1.16.8'
    compile (
            'com.jaredrummler:android-device-names:1.0.9',
            'io.reactivex:rxjava:1.1.5',
            'io.v:vanadium-android:2.2.3'
    )
}