generated from Bawnorton/BawnortonModTemplate
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.gradle.kts
More file actions
65 lines (55 loc) · 2.13 KB
/
settings.gradle.kts
File metadata and controls
65 lines (55 loc) · 2.13 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
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
maven("https://maven.fabricmc.net/")
maven("https://maven.neoforged.net/releases/")
maven("https://maven.kikugie.dev/releases")
maven("https://maven.kikugie.dev/snapshots")
}
}
plugins {
id("dev.kikugie.stonecutter") version "0.7.6"
}
stonecutter {
create(rootProject) {
fun mc(mcVersion: String, name: String = mcVersion, loaders: Iterable<String>) =
loaders.forEach { vers("$name-$it", mcVersion).buildscript = "build.$it.gradle.kts" }
mc("1.21.1", loaders = listOf("fabric", "neoforge"))
mc("1.21.5", loaders = listOf("fabric", "neoforge"))
mc("1.21.8", loaders = listOf("fabric", "neoforge"))
mc("1.21.10", loaders = listOf("fabric", "neoforge"))
mc("1.21.11", loaders = listOf("fabric", "neoforge"))
vcsVersion = "1.21.11-fabric"
}
}
gradle.beforeProject {
val gitDir = rootDir.resolve(".git")
if (gitDir.exists() && gitDir.isDirectory) {
val hooksDir = gitDir.resolve("hooks")
val preCommitHook = hooksDir.resolve("pre-commit")
if (!preCommitHook.exists()) {
hooksDir.mkdirs()
preCommitHook.writeText(
"""
#!/bin/bash
vcs_version=$(ggrep -oP 'vcsVersion\s*=\s*"\K[^"]+' settings.gradle.kts)
active_version=$(ggrep -oP 'stonecutter\s+active\s+"\K[^"]+' stonecutter.gradle.kts)
echo "Detected vcsVersion: ${'$'}vcs_version"
echo "Detected active version: ${'$'}active_version"
if [ "${'$'}vcs_version" != "${'$'}active_version" ]; then
echo "Please run './gradlew \"Reset active project\"' to set the stonecutter branch to the version control version."
exit 1
else
echo "Versions match. No action needed."
fi
""".trimIndent()
)
preCommitHook.setExecutable(true)
println("Git pre-commit hook installed.")
}
} else {
println("Not a Git repository. Skipping hook installation.")
}
}
rootProject.name = "Configurable"