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

buildscript {
    ext.kotlin_version = '1.3.21'
    ext.koin_version = '1.0.2'
    // TODO     ext.koin_version = '2.0.0-GA'
    repositories {
        google()
        jcenter()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath "com.airbnb.okreplay:gradle-plugin:1.4.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2'

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

allprojects {
    repositories {
        maven { url "http://dl.bintray.com/piasy/maven" }
        maven { url 'https://jitpack.io' }
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
        google()
        jcenter()
        // For Olm SDK
        maven {
            url 'https://jitpack.io'
        }
    }
}

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

apply plugin: 'org.sonarqube'

sonarqube {
    properties {
        property "sonar.projectName", "RiotX-Android"
        property "sonar.projectKey", "vector.android.riotx"
        property "sonar.host.url", "https://sonarcloud.io"
        property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
        property "sonar.sourceEncoding", "UTF-8"
        property "sonar.links.homepage", "https://github.com/vector-im/riotX-android/"
        property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/riotx-android"
        property "sonar.links.scm", "https://github.com/vector-im/riotX-android/"
        property "sonar.links.issue", "https://github.com/vector-im/riotX-android/issues"
        property "sonar.organization", "new_vector_ltd_organization"
        property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
    }
}

project(":vector") {
    sonarqube {
        properties {
            property "sonar.sources", project(":vector").android.sourceSets.main.java.srcDirs
            // exclude source code from analyses separated by a colon (:)
            // property "sonar.exclusions", "**/*.*"
        }
    }
}
