-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
75 lines (61 loc) · 1.97 KB
/
build.gradle.kts
File metadata and controls
75 lines (61 loc) · 1.97 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
import kotlin.script.experimental.jvm.util.classpathFromClass
plugins {
id("hexdebug.conventions.kotlin")
id("hexdebug.conventions.dokka")
alias(libs.plugins.dotenv)
}
val minecraftVersion: String by project
// scuffed sanity check, because we need minecraftVersion to be in gradle.properties for the hexdoc plugin
libs.versions.minecraft.get().also {
if (minecraftVersion != it) {
throw IllegalArgumentException("Mismatched Minecraft version: gradle.properties ($minecraftVersion) != libs.versions.toml ($it)")
}
}
architectury {
minecraft = minecraftVersion
}
// remember to add the other subprojects here if we add per-platform APIs in the future
dependencies {
dokka(project(":Common"))
dokka(project(":hexdebug-core-common"))
}
tasks {
register("viewLatestChangelog") {
group = "documentation"
description = "Print the topmost single version section from the full CHANGELOG.md file."
doLast {
println(hexdebugProperties.getLatestChangelog())
}
}
register("runAllDatagen") {
dependsOn(":Forge:runCommonDatagen")
dependsOn(":Forge:runForgeDatagen")
dependsOn(":Fabric:runDatagen")
}
}
val copyPlantUml by tasks.registering(Sync::class) {
group = "plantuml"
from("plantuml")
into("build/plantuml")
}
val renderPlantUml by tasks.registering(JavaExec::class) {
group = "plantuml"
val outputDir = copyPlantUml.get().destinationDir
inputs.files(copyPlantUml)
outputs.dir(outputDir)
classpath = files(classpathFromClass<net.sourceforge.plantuml.Run>())
args(
"${outputDir}/**/*.puml",
"--format", "png",
"--define", "PLANTUML_LIMIT_SIZE=8192",
"--skinparam", "dpi=300",
"--exclude", "**/_*",
"--exclude", "${outputDir}/utils/**",
"--exclude", "${outputDir}/continuations.puml", // broken?
)
}
dokka {
pluginsConfiguration.html {
customAssets.from(renderPlantUml)
}
}