-
Notifications
You must be signed in to change notification settings - Fork 8
/
build.gradle
120 lines (106 loc) · 3.95 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
buildscript {
ext.buildConfig = [
'minSdk' : 21,
'targetSdk' : 33,
'compileSdk': 35
]
repositories {
google()
mavenCentral()
}
dependencies {
classpath libs.android.pluginGradle
classpath libs.kotlin.pluginGradle
classpath libs.mavenPublish.pluginGradle
classpath libs.metalava.pluginGradle
classpath libs.dokka.pluginGradle
}
}
plugins {
id 'com.diffplug.spotless' version '5.12.4'
}
apply plugin: 'org.jetbrains.dokka'
apply plugin: 'com.diffplug.spotless'
tasks.withType(org.jetbrains.dokka.gradle.DokkaMultiModuleTask).configureEach {
outputDirectory = rootProject.file('docs/api')
failOnWarning = true
}
allprojects {
repositories {
google()
mavenCentral()
maven {
url 'https://repository.map.naver.com/archive/maven'
}
}
}
subprojects {
apply plugin: 'com.diffplug.spotless'
spotless {
kotlin {
target '**/*.kt'
targetExclude("$buildDir/**/*.kt")
targetExclude('bin/**/*.kt')
ktlint("0.42.1")
licenseHeaderFile rootProject.file('spotless/copyright.kt')
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { compile ->
kotlinOptions {
// Set JVM target to 11
jvmTarget = "11"
// Allow use of @OptIn
freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
}
}
// Read in the signing.properties file if it is exists
def signingPropsFile = rootProject.file('release/signing.properties')
if (signingPropsFile.exists()) {
def localProperties = new Properties()
signingPropsFile.withInputStream { is -> localProperties.load(is) }
localProperties.each { prop ->
if (prop.key == "signing.secretKeyRingFile") {
// If this is the key ring, treat it as a relative path
project.ext.set(prop.key, rootProject.file(prop.value).absolutePath)
} else {
project.ext.set(prop.key, prop.value)
}
}
}
// Must be afterEvaluate or else com.vanniktech.maven.publish will overwrite our
// dokka and version configuration.
afterEvaluate {
if (tasks.findByName('dokkaHtmlPartial') == null) {
// If dokka isn't enabled on this module, skip
return
}
tasks.named('dokkaHtmlPartial') {
dokkaSourceSets.configureEach {
reportUndocumented.set(true)
skipEmptyPackages.set(true)
skipDeprecated.set(true)
jdkVersion.set(8)
// Add Android SDK packages
noAndroidSdkLink.set(false)
// Add samples from :sample module
samples.from(rootProject.file("app/src/main/java/"))
// AndroidX + Compose docs
externalDocumentationLink {
url.set(new URL("https://developer.android.com/reference/"))
packageListUrl.set(new URL("https://developer.android.com/reference/androidx/package-list"))
}
externalDocumentationLink {
url.set(new URL("https://developer.android.com/reference/kotlin/"))
packageListUrl.set(new URL("https://developer.android.com/reference/kotlin/androidx/package-list"))
}
sourceLink {
localDirectory.set(project.file("src/main/java"))
// URL showing where the source code can be accessed through the web browser
remoteUrl.set(new URL("https://github.com/fornewid/naver-map-compose/blob/main/${project.name}/src/main/java"))
// Suffix which is used to append the line number to the URL. Use #L for GitHub
remoteLineSuffix.set("#L")
}
}
}
}
}