forked from enjarai/do-a-barrel-roll
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
126 lines (100 loc) · 3.58 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
plugins {
id "base"
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "0.12.0-SNAPSHOT" apply false
}
architectury {
minecraft = rootProject.minecraft_version
}
subprojects {
apply plugin: "dev.architectury.loom"
dependencies {
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
// The following line declares the mojmap mappings, you may use other mappings as well
// The following line declares the yarn mappings you may select this one as well.
mappings "net.fabricmc:yarn:${rootProject.yarn_version}:v2"
// Mixin Extras for extra compatibility.
implementation("com.github.LlamaLad7:MixinExtras:${project.mixin_extras_version}")
annotationProcessor("com.github.LlamaLad7:MixinExtras:${project.mixin_extras_version}")
}
}
tasks {
// Register a custom "collect jars" task that copies the Fabric and Forge mod jars
// into the root project's build/libs. This makes it easier to find them
// for testing and releasing.
def collectJars = tasks.register("collectJars", Copy) {copy ->
subprojects.forEach {
def task = it.tasks.getByName("remapJar")
dependsOn(task)
copy.from task
copy.into buildDir.path + "/libs"
}
}
// Set up assemble to depend on the collectJars task, so it gets run on gradlew build.
assemble {
dependsOn(collectJars)
}
}
allprojects {
apply plugin: "java"
apply plugin: "architectury-plugin"
apply plugin: "maven-publish"
archivesBaseName = rootProject.mod_id
version = "${rootProject.mod_version}+${rootProject.minecraft_version}"
group = rootProject.maven_group
repositories {
flatDir {
dirs 'mods'
}
mavenLocal()
maven { url 'https://maven.fabricmc.net' }
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
maven {
url = "https://www.cursemaven.com"
allowInsecureProtocol = true
}
// Mod Menu.
maven { url 'https://maven.terraformersmc.com' }
// MidnightControls.
maven {
name 'Gegy'
url 'https://maven.gegy.dev'
}
maven { url = "https://aperlambda.github.io/maven" }
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
// Cloth Config.
maven { url "https://maven.shedaniel.me/" }
maven { url "https://maven.terraformersmc.com/releases/" }
// Jitpack for Mixin Extras.
maven { url 'https://jitpack.io' }
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.release = 17
}
java {
withSourcesJar()
}
}
subprojects {
tasks {
if (!path.startsWith(":common")) {
tasks.getByName("remapJar") {
dependsOn("shadowJar")
// The project name will be "fabric" or "forge", so this will become the classifier/suffix
// for the jar. For example: do-a-barrel-roll-2.0.0+1.19.2-fabric.jar
archiveClassifier.set(project.name)
}
}
}
}