forked from unhee2/mobproject
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
125 lines (110 loc) · 4.09 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
import org.jetbrains.dokka.gradle.DokkaMultiModuleTask
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
buildscript {
ext.buildConfig = [
'minSdk' : 23,
'targetSdk' : 33,
'compileSdk': 34
]
repositories {
google()
mavenCentral()
}
dependencies {
classpath libs.android.pluginGradle
classpath libs.kotlin.pluginGradle
classpath libs.mavenPublish.pluginGradle
classpath libs.metalava.pluginGradle
classpath libs.dokka.pluginGradle
classpath libs.google.services
}
}
plugins {
id 'com.diffplug.spotless' version '5.12.4'
alias(libs.plugins.jetbrainsKotlinAndroid) apply false
}
apply plugin: 'org.jetbrains.dokka'
apply plugin: 'com.diffplug.spotless'
tasks.withType(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(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")
}
}
}
}
}