-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
114 lines (98 loc) · 2.98 KB
/
build.gradle.kts
File metadata and controls
114 lines (98 loc) · 2.98 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
plugins {
`maven-publish`
id("net.fabricmc.fabric-loom") version "1.15-SNAPSHOT"
}
version = project.properties["version"].toString()
loom {
mods {
register(project.name) {
sourceSet(sourceSets["main"])
}
}
}
repositories {
maven("https://maven.fabricmc.net") {
content {
includeGroup("net.fabricmc")
}
}
maven("https://maven.moongarden.dev/releases") {
content {
includeGroup("dev.moongarden")
includeGroup("cc.tweaked")
}
}
maven("https://maven.moongarden.dev/snapshots") {
content {
includeGroup("dev.moongarden")
includeGroup("cc.tweaked")
}
}
maven("https://basique.top/maven/releases") {
content {
includeGroup("me.basiqueevangelist")
}
}
}
dependencies {
minecraft("com.mojang:minecraft:${project.properties["minecraft_version"]}")
implementation("net.fabricmc:fabric-loader:${project.properties["loader_version"]}")
implementation("dev.moongarden:combine:${project.properties["combine_version"]}")
implementation("dev.moongarden:allium:${project.properties["allium_version"]}")
implementation("dev.moongarden:bouquet:${project.properties["bouquet_version"]}")
}
tasks {
processResources {
inputs.property("version", project.version)
inputs.property("name", project.properties["name"])
inputs.property("id", project.properties["id"])
filesMatching("fabric.mod.json") {
expand(mutableMapOf("id" to project.properties["id"]))
}
filesMatching("scripts/*/manifest.json") {
expand(mutableMapOf("version" to project.version, "name" to project.properties["name"], "id" to project.properties["id"]))
}
}
assemble {
dependsOn("zip")
}
jar {
enabled = false
}
var output = "-Dcombine.output=../docs"
var extensions = "-Dcombine.extensions=dev.moongarden.allium.util.combine.AlliumCombineExtension"
register<JavaExec>("genLuaSources") {
group = "allium"
classpath = sourceSets["main"].runtimeClasspath
mainClass = "dev.moongarden.combine.Combine"
jvmArgs = listOf(output, extensions)
workingDir = file("run")
}
register<Exec>("updateGlobals") {
group = "allium"
commandLine = listOf("git", "submodule", "update", "--init", "--recursive")
}
// Uncomment to create task that reveals private/protected methods and fields in the generated Lua documentation
// register<JavaExec>("genLuaSourcesAll") {
// group = "allium"
//
// classpath = sourceSets["main"].runtimeClasspath
// mainClass = "dev.moongarden.combine.Combine"
// jvmArgs = listOf(output, extensions, "-Dcombine.ignoreAccess")
// workingDir = file("run")
// }
register<Zip>("zip") {
dependsOn("processResources")
group = "build"
archiveFileName = "${project.properties["id"]}-${project.properties["version"]}.zip"
destinationDirectory = layout.buildDirectory.dir("script")
from(layout.buildDirectory.dir("resources/main/scripts/${project.properties["id"]}"))
from("LICENSE") {
rename { "${it}_${project.properties["id"]}" }
}
finalizedBy("cleanResources")
}
register<Delete>("cleanResources") {
delete(layout.buildDirectory.dir("resources"))
}
}