-
-
Notifications
You must be signed in to change notification settings - Fork 50
/
build.gradle
125 lines (109 loc) · 3.64 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
* Copyright (c) 2018 Nam Nguyen, nam@ene.im
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Top-level build file where you can add configuration options common to all sub-projects/modules.
import kohii.Libs
buildscript {
repositories {
google()
mavenCentral()
maven { url "http://dl.bintray.com/kotlin/kotlin-eap" }
maven { url 'https://maven.fabric.io/public' }
maven { url "https://plugins.gradle.org/m2/" }
jcenter()
}
dependencies {
//noinspection GradleDependency
classpath Libs.Common.androidGradlePlugin
classpath Libs.Kotlin.gradlePlugin
classpath Libs.Common.dexcountGradlePlugin
classpath Libs.Google.fabricPlugin
classpath Libs.Google.gmsGoogleServices
classpath Libs.Common.ktLintPlugin
classpath Libs.Common.bintrayPlugin
classpath Libs.Common.dokkaPlugin
}
}
allprojects {
repositories {
google()
mavenCentral()
maven { url "http://dl.bintray.com/kotlin/kotlin-eap" }
jcenter()
maven { url 'https://jitpack.io' }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
flatDir {
dirs 'libs'
}
}
apply plugin: "org.jlleitschuh.gradle.ktlint" // Version should be inherited from parent
apply plugin: 'org.jetbrains.dokka-android'
tasks.withType(JavaCompile).configureEach { task ->
task.sourceCompatibility = JavaVersion.VERSION_1_8
task.targetCompatibility = JavaVersion.VERSION_1_8
}
tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompile).configureEach { task ->
task.kotlinOptions {
jvmTarget = "1.8"
}
}
tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinCompile).configureEach { task ->
task.kotlinOptions {
freeCompilerArgs += [
'-XXLanguage:+InlineClasses',
'-Xjvm-default=enable'
]
}
}
tasks.withType(Test) {
testLogging {
events "skipped", "failed", "passed"
}
}
afterEvaluate { p ->
p.tasks.dokka {
jdkVersion = 8
reportUndocumented = false
skipDeprecated = true
skipEmptyPackages = true
externalDocumentationLink {
url = new URL("https://developer.android.com/reference/")
packageListUrl = new URL("https://developer.android.com/reference/androidx/package-list")
}
externalDocumentationLink {
url = new URL("https://exoplayer.dev/doc/reference/")
packageListUrl = new URL("https://exoplayer.dev/doc/reference/package-list")
}
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
tasks.wrapper {
distributionType = Wrapper.DistributionType.ALL
}
ext {
// query git for the SHA, Tag and commit count. Use these to automate versioning.
gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim()
gitCommitCount =
Integer.parseInt('git rev-list --count HEAD'.execute([], project.rootDir).text.trim())
}
// copy from https://github.com/chrisbanes/tivi
// read from gradle.properties for a value, or use default instead.
String lookUpProf(String propertyName, String defaultValue) {
def propertyValue = project.properties[propertyName]
return propertyValue != null ? propertyValue : defaultValue
}