SchildiChat-android/build.gradle

261 lines
9.9 KiB
Groovy
Raw Normal View History

2018-10-03 17:56:33 +02:00
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
2021-09-15 12:28:58 +03:00
apply from: 'dependencies.gradle'
2018-10-03 17:56:33 +02:00
repositories {
google()
jcenter()
2019-03-18 16:53:52 +01:00
maven {
url "https://plugins.gradle.org/m2/"
2019-05-07 14:02:15 +02:00
}
}
2021-09-15 12:28:58 +03:00
2018-10-03 17:56:33 +02:00
dependencies {
2021-09-02 09:36:13 +02:00
// Release notes of Android Gradle Plugin (AGP):
// https://developer.android.com/studio/releases/gradle-plugin
2021-09-15 12:28:58 +03:00
classpath libs.gradle.gradlePlugin
classpath libs.gradle.kotlinPlugin
2021-10-14 18:47:28 +02:00
classpath libs.gradle.hiltPlugin
classpath 'com.google.gms:google-services:4.3.10'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4'
classpath "com.likethesalad.android:string-reference:1.2.2"
2018-10-03 17:56:33 +02:00
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
2021-10-01 13:28:47 +02:00
// ktlint Plugin
plugins {
id "org.jlleitschuh.gradle.ktlint" version "10.2.0"
2021-10-01 13:28:47 +02:00
}
2018-10-03 17:56:33 +02:00
allprojects {
2021-10-01 13:28:47 +02:00
apply plugin: "org.jlleitschuh.gradle.ktlint"
2018-10-03 17:56:33 +02:00
repositories {
// For olm library.
maven {
url 'https://gitlab.matrix.org/api/v4/projects/27/packages/maven'
content {
includeGroup 'org.matrix.android'
}
}
2019-05-16 10:23:57 +02:00
maven {
url 'https://jitpack.io'
2019-07-11 14:03:20 +02:00
content {
includeGroup 'com.github.Armen101'
includeGroup 'com.github.BillCarsonFr'
includeGroup 'com.github.chrisbanes'
includeGroup 'com.github.hyuwah'
includeGroup 'com.github.jetradarmobile'
includeGroup 'com.github.vector-im'
includeGroup 'com.github.yalantis'
includeGroup 'com.github.Zhuinden'
2019-07-11 14:03:20 +02:00
}
}
2020-08-12 14:02:00 +02:00
// Jitsi repo
maven {
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.10.0"
// Note: to test Jitsi release you can use a local file like this:
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.10.0"
content {
includeGroup 'com.facebook.react'
includeGroup 'org.jitsi.react'
includeGroup 'org.webkit'
}
2020-08-12 14:02:00 +02:00
}
google {
content {
includeGroupByRegex "androidx\\..*"
includeGroupByRegex "com\\.google\\.android\\..*"
includeGroup 'com.android.tools.build'
includeGroup 'com.google.firebase'
}
}
mavenCentral {
content {
includeGroup 'com.airbnb.android'
includeGroup 'com.arthenica'
includeGroup 'com.atlassian.commonmark'
includeGroup 'com.atlassian.pom'
includeGroup 'com.davemorrissey.labs'
includeGroup 'com.dropbox.core'
includeGroup 'com.facebook.fresco'
includeGroup 'com.facebook.infer.annotation'
includeGroup 'com.facebook.soloader'
includeGroup 'com.facebook.stetho'
includeGroup 'com.fasterxml'
includeGroup 'com.fasterxml.jackson'
includeGroup 'com.fasterxml.jackson.core'
includeGroup 'com.gabrielittner.threetenbp'
includeGroup 'com.getkeepsafe.relinker'
includeGroup 'com.github.bumptech.glide'
includeGroup 'com.github.filippudak'
includeGroup 'com.github.filippudak.progresspieview'
includeGroup 'com.github.piasy'
includeGroup 'com.google.auto.service'
includeGroup 'com.google.code.findbugs'
includeGroup 'com.google.code.gson'
includeGroup 'com.google.dagger'
includeGroup 'com.google.devtools.ksp'
includeGroup 'com.google.errorprone'
includeGroup 'com.google.googlejavaformat'
includeGroup 'com.google.guava'
includeGroup 'com.google.j2objc'
includeGroup 'com.google.zxing'
includeGroup 'com.googlecode.htmlcompressor'
includeGroup 'com.googlecode.libphonenumber'
includeGroup 'com.jakewharton.timber'
includeGroup 'com.nulab-inc'
includeGroup 'com.otaliastudios.opengl'
includeGroup 'com.parse.bolts'
includeGroup 'com.squareup'
includeGroup 'com.squareup.duktape'
includeGroup 'com.squareup.moshi'
includeGroup 'com.squareup.okhttp3'
includeGroup 'com.squareup.okio'
includeGroup 'com.squareup.retrofit2'
includeGroup 'com.vanniktech'
includeGroup 'commons-cli'
includeGroup 'commons-codec'
includeGroup 'io.arrow-kt'
includeGroup 'io.github.reactivecircus.flowbinding'
includeGroup 'io.jsonwebtoken'
includeGroup 'io.kindedj'
includeGroup 'io.noties.markwon'
includeGroup 'io.reactivex.rxjava2'
includeGroup 'io.realm'
includeGroup 'javax.annotation'
includeGroup 'javax.inject'
includeGroup 'jp.wasabeef'
includeGroup 'me.leolin'
includeGroup 'me.saket'
includeGroup 'net.ltgt.gradle.incap'
includeGroup 'nl.dionsegijn'
includeGroup 'org.apache'
includeGroup 'org.apache.commons'
includeGroup 'org.apache.sanselan'
includeGroup 'org.checkerframework'
includeGroup 'org.jetbrains'
includeGroup 'org.jetbrains.intellij.deps'
includeGroup 'org.jetbrains.kotlin'
includeGroup 'org.jetbrains.kotlinx'
includeGroup 'org.mongodb'
includeGroup 'org.ow2'
includeGroup 'org.ow2.asm'
includeGroup 'org.ow2.asm'
includeGroup 'org.reactivestreams'
includeGroup 'org.slf4j'
includeGroup 'org.sonatype.oss'
includeGroup 'org.threeten'
}
}
jcenter {
content {
includeGroup 'com.amulyakhare'
includeGroup 'com.danikula'
includeGroup 'com.otaliastudios'
includeGroup 'com.tapadoo.android'
includeGroup 'com.yqritc'
includeGroup 'dk.ilios'
includeGroup 'im.dlg'
includeGroup 'me.dm7.barcodescanner'
includeGroup 'me.gujun.android'
}
}
2018-10-03 17:56:33 +02:00
}
2019-07-16 19:13:48 +02:00
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()
}
2021-10-01 13:28:47 +02:00
// Fix "Java heap space" issue
tasks.withType(org.jlleitschuh.gradle.ktlint.tasks.BaseKtLintCheckTask).configureEach {
it.workerMaxHeapSize.set("2G")
}
// See https://github.com/JLLeitschuh/ktlint-gradle#configuration
ktlint {
android = true
ignoreFailures = false
enableExperimentalRules = true
// display the corresponding rule
verbose = true
disabledRules = [
"spacing-between-declarations-with-comments",
"no-multi-spaces",
"experimental:spacing-between-declarations-with-annotations",
"experimental:annotation"
]
}
2018-10-03 17:56:33 +02:00
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2019-03-18 16:53:52 +01:00
apply plugin: 'org.sonarqube'
// To run a sonar analysis:
// Run './gradlew sonarqube -Dsonar.login=<REPLACE_WITH_SONAR_KEY>'
// The SONAR_KEY is stored in passbolt
2019-03-18 16:53:52 +01:00
sonarqube {
properties {
property "sonar.projectName", "Element-Android"
property "sonar.projectKey", "im.vector.app.android"
2019-03-18 16:53:52 +01:00
property "sonar.host.url", "https://sonarcloud.io"
2019-03-19 14:38:15 +01:00
property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
2019-03-18 16:53:52 +01:00
property "sonar.sourceEncoding", "UTF-8"
2020-08-27 17:43:22 +02:00
property "sonar.links.homepage", "https://github.com/vector-im/element-android/"
property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/element-android"
2020-08-27 17:43:22 +02:00
property "sonar.links.scm", "https://github.com/vector-im/element-android/"
property "sonar.links.issue", "https://github.com/vector-im/element-android/issues"
2019-03-18 16:53:52 +01:00
property "sonar.organization", "new_vector_ltd_organization"
property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
}
}
2019-03-19 14:38:15 +01:00
project(":vector") {
2019-03-18 16:53:52 +01:00
sonarqube {
properties {
2019-03-19 14:38:15 +01:00
property "sonar.sources", project(":vector").android.sourceSets.main.java.srcDirs
2019-03-18 16:53:52 +01:00
// exclude source code from analyses separated by a colon (:)
2020-08-27 17:39:09 +02:00
// Exclude Java source
property "sonar.exclusions", "**/BugReporterMultipartBody.java"
2019-03-18 16:53:52 +01:00
}
}
}
2020-08-27 15:37:39 +02:00
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", "**/*.*"
// }
// }
//}