// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { // Ref: https://kotlinlang.org/releases.html ext.kotlin_version = '1.4.21' ext.kotlin_coroutines_version = "1.4.1" repositories { google() jcenter() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.android.tools.build:gradle:4.1.2' classpath 'com.google.gms:google-services:4.3.5' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1' classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { // For olm library. This has to be declared first, to ensure that Olm library is not downloaded from another repo maven { url 'https://jitpack.io' content { // Use this repo only for olm library includeGroupByRegex "org\\.matrix\\.gitlab\\.matrix-org" // And also for FilePicker includeGroupByRegex "com\\.github\\.jaiselrahman" // And monarchy includeGroupByRegex "com\\.github\\.Zhuinden" // And ucrop includeGroupByRegex "com\\.github\\.yalantis" // JsonViewer includeGroupByRegex 'com\\.github\\.BillCarsonFr' // PhotoView includeGroupByRegex 'com\\.github\\.chrisbanes' // PFLockScreen-Android includeGroupByRegex 'com\\.github\\.vector-im' //Chat effects includeGroupByRegex 'com\\.github\\.jetradarmobile' includeGroupByRegex 'nl\\.dionsegijn' } } maven { url "http://dl.bintray.com/piasy/maven" content { includeGroupByRegex "com\\.github\\.piasy" } } maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } // Jitsi repo maven { url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-2.9.3" // Note: to test Jitsi release you can use a local file like this: // url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-2.9.3" } google() jcenter() } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { // Warnings are potential errors, so stop ignoring them // You can override by passing `-PallWarningsAsErrors=false` in the command line kotlinOptions.allWarningsAsErrors = project.getProperties().getOrDefault("allWarningsAsErrors", "true").toBoolean() kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.ExperimentalUnsignedTypes" } } task clean(type: Delete) { delete rootProject.buildDir } apply plugin: 'org.sonarqube' // To run a sonar analysis: // Run './gradlew sonarqube -Dsonar.login=' // The SONAR_KEY is stored in passbolt sonarqube { properties { property "sonar.projectName", "Element-Android" property "sonar.projectKey", "im.vector.app.android" 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/element-android/" property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/element-android" property "sonar.links.scm", "https://github.com/vector-im/element-android/" property "sonar.links.issue", "https://github.com/vector-im/element-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 (:) // Exclude Java source property "sonar.exclusions", "**/BugReporterMultipartBody.java" } } } project(":diff-match-patch") { sonarqube { skipProject = true } } //project(":matrix-sdk-android") { // sonarqube { // properties { // property "sonar.sources", project(":matrix-sdk-android").android.sourceSets.main.java.srcDirs // // exclude source code from analyses separated by a colon (:) // // property "sonar.exclusions", "**/*.*" // } // } //} // //project(":matrix-sdk-android-rx") { // sonarqube { // properties { // property "sonar.sources", project(":matrix-sdk-android-rx").android.sourceSets.main.java.srcDirs // // exclude source code from analyses separated by a colon (:) // // property "sonar.exclusions", "**/*.*" // } // } //}