-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathbuild.gradle
More file actions
84 lines (69 loc) · 2.52 KB
/
Copy pathbuild.gradle
File metadata and controls
84 lines (69 loc) · 2.52 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
plugins {
id 'base'
id 'dev.architectury.loom' version '1.7-SNAPSHOT' apply false
id 'architectury-plugin' version '3.4-SNAPSHOT'
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
}
architectury {
minecraft = project.minecraft_version
}
allprojects {
group = rootProject.maven_group
// Set the project version to be <mod version>+<Minecraft version> so the MC version is semver build metadata.
version = "$rootProject.mod_version+$rootProject.minecraft_version"
}
subprojects {
apply(plugin: 'dev.architectury.loom')
apply(plugin: 'architectury-plugin')
base {
// Set up a suffixed format for the mod jar names, e.g. `example-fabric`.
archivesName = "$rootProject.archives_name-$project.name"
}
repositories {
// TerraformersMC maven for Mod Menu.
maven {
name = "TerraformersMC"
url = "https://maven.terraformersmc.com/releases"
content {
includeGroup("com.terraformersmc")
}
}
maven { url = "https://maven.shedaniel.me/" }
}
dependencies {
minecraft "net.minecraft:minecraft:$rootProject.minecraft_version"
mappings "net.fabricmc:yarn:$rootProject.minecraft_version+$rootProject.yarn_mappings:v2"
}
java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType(JavaCompile).configureEach {
it.options.release = 17
}
}
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 for me to find them
// for testing and releasing.
def collectJars = tasks.register('collectJars', Copy) {
// Find the remapJar tasks of projects that aren't :common (so :fabric and :forge) and depend on them.
def tasks = subprojects.findAll { it.path != ':common' }.collect { it.tasks.named('remapJar') }
dependsOn tasks
// Copy the outputs of the tasks...
from tasks
// ...into build/libs.
into layout.buildDirectory.dir('libs')
}
// Set up assemble to depend on the collectJars task, so it gets run on gradlew build.
tasks.named('assemble') {
dependsOn collectJars
}
// This is for IDEA. If "classes" doesn't exist, it runs "assemble" - which
// builds the final project jars and is slow - when you press the hammer icon.
tasks.register('classes')
}