// Top-level build file where you can add configuration options common to all sub-projects/modules.

ext {
    compileSdkVersion = 28
    buildToolsVersion = "28.0.3"
}

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

task debugJava(dependsOn: [':app:assembleDebug', ':relay-java:assembleDebug'])
task releaseJava(dependsOn: [':app:assembleRelease', ':relay-java:assembleRelease'])

task debugRust(dependsOn: [':app:assembleDebug', ':relay-rust:debug'])
task releaseRust(dependsOn: [':app:assembleRelease', ':relay-rust:release'])

task releaseRustWindows(dependsOn: [':app:assembleRelease', 'relay-rust:releaseCrossToWindows'])

task debugAll(dependsOn: ['debugJava', 'debugRust'])
task releaseAll(dependsOn: ['releaseJava', 'releaseRust'])

task checkJava(dependsOn: [':app:check', ':relay-java:check'])
task checkRust(dependsOn: ['app:check', ':relay-rust:check'])
task checkAll(dependsOn: ['checkJava', 'checkRust'])
