-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
103 lines (86 loc) · 3.5 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.gradle_version = '4.0.0'
ext.kotlin_version = '1.3.72'
ext.dokka_version = '0.9.17'
ext.jacoco_version = '0.8.4'
ext.apollo_version = '1.2.1'
ext.realm_version = '5.9.0'
ext.jacoco_android_version = '0.1.4'
ext.sonarqube_version = '2.7'
repositories {
google()
maven { url "https://kotlin.bintray.com/kotlinx" }
maven {
url "https://plugins.gradle.org/m2/"
}
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.google.gms:google-services:4.3.3'
//https://stackoverflow.com/questions/52412023/api-variant-getexternalnativebuildtasks-is-obsolete-and-has-been-replaced-wi/52487634#52487634
classpath "com.android.tools.build:gradle:${gradle_version}"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
classpath "com.apollographql.apollo:apollo-gradle-plugin:$apollo_version"
classpath "io.realm:realm-gradle-plugin:$realm_version"
//dont suport gradle 6
// classpath "com.dicedmelon.gradle:jacoco-android:$jacoco_android_version"
classpath "com.hiya:jacoco-android:0.2"
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:$sonarqube_version"
// Add dependency
classpath 'io.fabric.tools:gradle:1.31.0' // Crashlytics plugin
//check dependencies
classpath 'com.netflix.nebula:gradle-lint-plugin:16.0.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
apply plugin: 'nebula.lint'
gradleLint.rules += 'unused-dependency'
// gradleLint.rules = ['all-dependency'] // add as many rules here as you'd like
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
google()
maven { url 'https://maven.google.com' }
maven { url "https://jitpack.io" }
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: "org.sonarqube"
sonarqube {
androidVariant 'debug'
properties {
property "sonar.sourceEncoding", "UTF-8"
property "sonar.verbose", true
property "sonar.host.url", "http://192.168.99.100:9000"
property "sonar.projectName", "Mobile Taiga"
property "sonar.projectKey", "mobile-taiga"
property "sonar.sourceEncoding", "UTF-8"
property "sonar.projectVersion", "0.1"
property "sonar.issuesReport.html.enable", "true"
property "sonar.issuesReport.console.enable", "true"
property "sonar.coverage.jacoco.xmlReportPaths", findAllReports()
property "detekt.sonar.kotlin.config.path", "${rootProject.projectDir}/detekt-config.yml"
property "sonar.scm.provider", "git"
property "sonar.login","c778a2de6a5124cad4c6cef87063c5b0e5b3c551"
property "sonar.java.coveragePlugin", "jacoco"
}
}
String findAllReports() {
def file = "${rootProject.buildDir}/reports"
def sonarEnabledProjects = rootProject.subprojects
.findAll { p -> p.sonarqube.getProperties().get("skipProject") == false }
*.name
.collect { projectName -> "$file/jacocoTestReport-${projectName}.xml" }
.join(",")
return sonarEnabledProjects
}