-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
108 lines (92 loc) · 3.1 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
plugins {
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
id "com.modrinth.minotaur" version "2.+"
}
group = project.maven_group
version = project.modin_version
architectury {
minecraft = project.minecraft_version
}
allprojects {
group = rootProject.maven_group
version = rootProject.modin_version
}
def modloaders = ["fabric", "neoforge", "common-modloader"]
subprojects {
apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: 'com.modrinth.minotaur'
if (modloaders.contains(project.name)) {
apply plugin: 'dev.architectury.loom'
apply plugin: 'architectury-plugin'
dependencies {
minecraft "net.minecraft:minecraft:$rootProject.minecraft_version"
mappings loom.officialMojangMappings()
}
}
base {
// Set up a suffixed format for the mod jar names, e.g. `Example-Fabric`.
def aname = project.name.capitalize()
if (aname == "Neoforge") aname = "NeoForge"
if (aname == "Common-modloader") aname = "Common-ModLoader"
if (version.contains("SNAPSHOT")) {
archivesName = "DEV-$rootProject.modin_name-$aname"
} else {
archivesName = "$rootProject.modin_name-$aname"
}
}
repositories {
mavenCentral()
}
java {
if (modloaders.contains(project.name)) {
withSourcesJar()
}
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
toolchain.languageVersion = JavaLanguageVersion.of(21)
}
tasks.withType(JavaCompile).configureEach {
it.options.release = 21
it.options.encoding = 'UTF-8'
}
// Configure Maven publishing.
publishing {
publications {
mavenJava(MavenPublication) {
artifactId = base.archivesName.get()
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}
jar {
manifest {
attributes 'Implementation-Title': 'Pronouns',
'Implementation-Version': version,
'Main-Class': 'net.kore.pronouns.common.CannotRunDialog'
}
setArchiveClassifier("dev")
destinationDirectory = file("$rootProject.rootDir/dev_output")
}
}
tasks.register('build') {
List<String> projects = new ArrayList<>();
subprojects.forEach {
if (it.name != "Pronouns") {
projects.add(":" + it.name + ":build")
}
}
dependsOn(projects.toArray())
}
modrinth {
syncBodyFrom = rootProject.file("README.md").text
}