element-android-Github/build.gradle

165 lines
5.6 KiB
Groovy
Raw Normal View History

2018-10-03 23:56:33 +08:00
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
2021-09-15 17:28:58 +08:00
apply from: 'dependencies.gradle'
2021-12-11 04:19:43 +08:00
apply from: 'dependencies_groups.gradle'
2021-09-15 17:28:58 +08:00
2018-10-03 23:56:33 +08:00
repositories {
google()
2019-03-18 23:53:52 +08:00
maven {
url "https://plugins.gradle.org/m2/"
2019-05-07 20:02:15 +08:00
}
}
2021-09-15 17:28:58 +08:00
2018-10-03 23:56:33 +08:00
dependencies {
2021-09-02 15:36:13 +08:00
// Release notes of Android Gradle Plugin (AGP):
// https://developer.android.com/studio/releases/gradle-plugin
2021-09-15 17:28:58 +08:00
classpath libs.gradle.gradlePlugin
classpath libs.gradle.kotlinPlugin
2021-10-15 00:47:28 +08: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.5'
classpath "com.likethesalad.android:stem-plugin:2.0.0"
2018-10-03 23:56:33 +08:00
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
2021-10-01 19:28:47 +08:00
// ktlint Plugin
plugins {
id "org.jlleitschuh.gradle.ktlint" version "10.2.1"
2021-10-01 19:28:47 +08:00
}
2018-10-03 23:56:33 +08:00
allprojects {
2021-10-01 19:28:47 +08:00
apply plugin: "org.jlleitschuh.gradle.ktlint"
2018-10-03 23:56:33 +08:00
repositories {
mavenCentral {
content {
groups.mavenCentral.regex.each { includeGroupByRegex it }
groups.mavenCentral.group.each { includeGroup it }
}
}
2019-05-16 16:23:57 +08:00
maven {
url 'https://jitpack.io'
2019-07-11 20:03:20 +08:00
content {
2021-12-11 04:35:48 +08:00
groups.jitpack.regex.each { includeGroupByRegex it }
groups.jitpack.group.each { includeGroup it }
2019-07-11 20:03:20 +08:00
}
}
2020-08-12 20:02:00 +08: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 {
2021-12-11 04:35:48 +08:00
groups.jitsi.regex.each { includeGroupByRegex it }
groups.jitsi.group.each { includeGroup it }
}
2020-08-12 20:02:00 +08:00
}
google {
content {
2021-12-11 04:35:48 +08:00
groups.google.regex.each { includeGroupByRegex it }
groups.google.group.each { includeGroup it }
}
}
//noinspection JcenterRepositoryObsolete
jcenter {
content {
2021-12-11 04:35:48 +08:00
groups.jcenter.regex.each { includeGroupByRegex it }
groups.jcenter.group.each { includeGroup it }
}
}
maven {
url 'https://s01.oss.sonatype.org/content/repositories/snapshots'
content {
groups.mavenSnapshots.regex.each { includeGroupByRegex it }
groups.mavenSnapshots.group.each { includeGroup it }
}
}
2018-10-03 23:56:33 +08:00
}
2019-07-17 01:13:48 +08: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
2022-03-04 22:51:07 +08:00
kotlinOptions.allWarningsAsErrors = false//project.getProperties().getOrDefault("allWarningsAsErrors", "true").toBoolean()
}
2021-10-01 19:28:47 +08: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 23:56:33 +08:00
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2019-03-18 23:53:52 +08: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 23:53:52 +08:00
sonarqube {
properties {
property "sonar.projectName", "Element-Android"
property "sonar.projectKey", "im.vector.app.android"
2019-03-18 23:53:52 +08:00
property "sonar.host.url", "https://sonarcloud.io"
2019-03-19 21:38:15 +08:00
property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
2019-03-18 23:53:52 +08:00
property "sonar.sourceEncoding", "UTF-8"
2020-08-27 23:43:22 +08: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 23:43:22 +08: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 23:53:52 +08:00
property "sonar.organization", "new_vector_ltd_organization"
property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
}
}
2019-03-19 21:38:15 +08:00
project(":vector") {
2019-03-18 23:53:52 +08:00
sonarqube {
properties {
2019-03-19 21:38:15 +08:00
property "sonar.sources", project(":vector").android.sourceSets.main.java.srcDirs
2019-03-18 23:53:52 +08:00
// exclude source code from analyses separated by a colon (:)
2020-08-27 23:39:09 +08:00
// Exclude Java source
property "sonar.exclusions", "**/BugReporterMultipartBody.java"
2019-03-18 23:53:52 +08:00
}
}
}
project(":library:diff-match-patch") {
2020-08-27 21:37:39 +08:00
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", "**/*.*"
// }
// }
//}