-
Notifications
You must be signed in to change notification settings - Fork 6
/
build.gradle
176 lines (154 loc) · 5.52 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
plugins {
// Needed for Forge+Fabric
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false
// Kotlin
id "org.jetbrains.kotlin.jvm" version "1.9.10" apply false
// Kotlin linter
//id "org.jlleitschuh.gradle.ktlint" version "10.3.0"
// Java linter
//id "checkstyle"
id 'com.matthewprenger.cursegradle' version '1.4.0' apply false
id "com.modrinth.minotaur" version "2.4.5" apply false
id "io.github.pacifistmc.forgix" version "1.2.9"
}
// Determine the version
//String platform = String.valueOf(loader_platform).toLowerCase()
//
//version = minecraft_version + "-" + platform + "-" + mod_version
architectury {
minecraft = rootProject.minecraft_version
}
subprojects {
apply plugin: "dev.architectury.loom"
// Apply checkstyle and ktlint to check the code style of every sub project
//apply plugin: "org.jlleitschuh.gradle.ktlint"
//apply plugin: "checkstyle"
apply plugin: "org.jetbrains.kotlin.jvm"
loom {
silentMojangMappingsLicense()
}
repositories {
maven { url = "https://maven.architectury.dev/" }
maven { // Ritchie's Projectile Library
url = "https://maven.realrobotix.me/master/"
content {
includeGroup("com.rbasamoyai") // THIS IS IMPORTANT
}
}
maven {
name = "ParchmentMC"
url = "https://maven.parchmentmc.org"
}
maven { url = "https://maven.terraformersmc.com/releases/" } // Mod Menu
maven {
url = "https://api.modrinth.com/maven"
content {
includeGroup("maven.modrinth")
}
}
maven {
url "https://cursemaven.com"
content {
includeGroup "curse.maven"
}
}
maven { url = "https://maven.shedaniel.me/" } // Cloth Config, REI
maven { url = "https://mvn.devos.one/snapshots/" } // Fabric Create, Porting Lib, Forge Tags, Milk Lib
maven { url = "https://maven.tterrag.com/" } // Registrate, Forge Create and Flywheel
maven { url = "https://maven.cafeteria.dev/releases" } // Fake Player API
maven { url = "https://jitpack.io" } // Mixin Squared
maven {
url 'https://maven.fallenbreath.me/releases'
content {
includeGroup "me.fallenbreath"
}
}
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
// The following line declares the mojmap mappings, you may use other mappings as well
mappings(loom.layered {
officialMojangMappings()
parchment("org.parchmentmc.data:parchment-1.20.1:2023.09.03@zip")
})
implementation("org.joml:joml:1.10.4") { transitive = false }
implementation("org.joml:joml-primitives:1.10.0") { transitive = false }
}
//checkstyle {
// // configure to use checkstyle v8.41
// toolVersion "8.41"
// // Gradle shouldn't fail builds on checkstyle errors
// ignoreFailures = true
// // Checkstyle config file is in .checkstyle/checkstyle.xml
// configFile = file("${rootDir}/.checkstyle/checkstyle.xml")
//}
// configure checkstyle, but different
// https://docs.gradle.org/current/userguide/checkstyle_plugin.html
tasks.withType(Checkstyle) {
reports {
// Do not output html reports
html.required = false
// Output xml reports
xml.required = true
}
}
// configure ktlint
//ktlint {
// ignoreFailures = true
// reporters {
// // configure to output in checkstyle XML format
// reporter "checkstyle"
// }
//}
build.finalizedBy(mergeJars)
assemble.finalizedBy(mergeJars)
}
allprojects {
apply plugin: "java"
apply plugin: "architectury-plugin"
apply plugin: "maven-publish"
archivesBaseName = rootProject.archives_base_name
version = rootProject.version
group = rootProject.maven_group
repositories {
mavenLocal()
maven {
name = 'Kotlin for Forge'
url = 'https://thedarkcolour.github.io/KotlinForForge/'
content { includeGroup "thedarkcolour" }
}
maven {
name = "Valkyrien Skies Internal"
url = project.vs_maven_url ?: 'https://maven.valkyrienskies.org'
if (project.vs_maven_username && project.vs_maven_password) {
credentials {
username = project.vs_maven_username
password = project.vs_maven_password
}
}
}
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.release = 17
}
java {
withSourcesJar()
}
}
String gitRevision = "git rev-parse HEAD".execute().text.trim()
version = minecraft_version + "-" + mod_version + "+" + gitRevision.substring(0, 10)
forgix {
group = "io.github.xiewuzhiying.vs_addition"
mergedJarName = "vs_addition-" + version + ".jar"
outputDir = "build/libs/merged"
forge {
projectName = "forge"
jarLocation = "build/libs/vs_addition-" + minecraft_version + "-" + "forge" + "-" + mod_version + "+" + gitRevision.substring(0, 10) + ".jar"
}
fabric {
projectName = "fabric"
jarLocation = "build/libs/vs_addition-" + minecraft_version + "-" + "fabric" + "-" + mod_version + "+" + gitRevision.substring(0, 10) + ".jar"
}
}