-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
125 lines (108 loc) · 3.56 KB
/
build.gradle.kts
File metadata and controls
125 lines (108 loc) · 3.56 KB
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 io.izzel.taboolib.gradle.*
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.api.file.DuplicatesStrategy
import org.gradle.jvm.tasks.Jar
import org.jetbrains.dokka.gradle.DokkaTask
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
java
id("com.gradleup.shadow") version "9.3.1"
id("io.izzel.taboolib") version "2.0.36"
id("org.jetbrains.dokka") version "1.9.20"
kotlin("jvm") version "2.3.0"
}
val matrixLibApiVersion = providers.gradleProperty("matrixlibApiVersion").orElse("1.0.1").get()
taboolib {
env {
install(Basic, Bukkit, BukkitHook, CommandHelper, Kether)
repoTabooLib = "https://repo.tabooproject.org/repository/releases"
disableOnSkippedVersion = false
}
description {
name = "MatrixStorage"
bukkitApi("1.12")
contributors {
name("54895y")
}
dependencies {
name("MatrixLib")
}
}
version {
taboolib = "6.3.0-0e96352"
coroutines = null
}
}
repositories {
maven("https://repo.tabooproject.org/repository/releases")
maven("https://repo.extendedclip.com/releases/")
maven("https://repo.nexomc.com/releases")
mavenCentral()
maven("https://hub.spigotmc.org/nexus/content/groups/public/")
}
dependencies {
implementation("com.google.code.gson:gson:2.11.0")
implementation("com.zaxxer:HikariCP:4.0.3")
implementation("org.xerial:sqlite-jdbc:3.46.1.3")
implementation("com.mysql:mysql-connector-j:8.0.33")
implementation("redis.clients:jedis:4.4.8")
implementation("org.apache.commons:commons-pool2:2.12.0")
compileOnly("org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT")
compileOnly(kotlin("stdlib"))
compileOnly("com.y54895.matrixlib:matrixlib-api:$matrixLibApiVersion")
}
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
}
tasks.processResources {
inputs.property("version", project.version)
filesMatching(listOf("plugin.yml", "paper-plugin.yml")) {
expand("version" to project.version)
}
}
tasks.withType<DokkaTask>().configureEach {
moduleName.set("MatrixStorage API")
dokkaSourceSets.configureEach {
includes.from("docs/api/overview.md")
jdkVersion.set(8)
reportUndocumented.set(false)
skipDeprecated.set(false)
}
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.fromTarget("1.8")
}
}
configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
val dokkaJavadocJar by tasks.registering(Jar::class) {
dependsOn(tasks.named("dokkaJavadoc"))
archiveClassifier.set("javadoc")
from(tasks.named("dokkaJavadoc"))
}
tasks.named<ShadowJar>("shadowJar") {
val runtimeJar = tasks.named<Jar>("jar").get()
dependsOn(runtimeJar)
archiveClassifier.set("all")
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from(zipTree(runtimeJar.archiveFile))
configurations = listOf(project.configurations.runtimeClasspath.get())
relocate("com.google.gson", "${project.group}.libs.gson")
relocate("com.zaxxer.hikari", "${project.group}.libs.hikari")
relocate("redis.clients.jedis", "${project.group}.libs.jedis")
relocate("org.apache.commons.pool2", "${project.group}.libs.pool2")
}
tasks.named("build") {
dependsOn(tasks.named("shadowJar"))
}
tasks.named("assemble") {
dependsOn(dokkaJavadocJar)
}
tasks.register("generateJavadoc") {
group = "documentation"
description = "Generate Javadoc-style API docs with Dokka."
dependsOn("dokkaJavadoc")
}