-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
176 lines (154 loc) · 5.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
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
/*
* Change `janoeo_template` by your mod id
* Change `group` value to you project `group` value
* Change `archivesBaseName` value to you project `archivesBaseName` value
* You can remove `Janoeo versioning system` section if you don't use janoeo versioning
*/
buildscript {
repositories {
maven { url = 'https://maven.minecraftforge.net' }
maven { url = 'https://repo.spongepowered.org/maven' }
maven { url = 'https://maven.parchmentmc.org' }
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
classpath 'org.parchmentmc:librarian:1.+'
classpath 'org.spongepowered:mixingradle:0.7.32'
}
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'org.parchmentmc.librarian.forgegradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: 'org.spongepowered.mixin'
// ***************************************** //
// //
// Standard versioning system //
// //
// ***************************************** //
def majorVersion = 1
def minorVersion = 0
def buildVersion = 0
def isExperimental = true
version = "${majorVersion}.${minorVersion}.${buildVersion}"
if (isExperimental) {
version += '-experimental'
}
// ***************************************** //
// //
// Janoeo versioning system //
// //
// ***************************************** //
def isJanoeo = false
def janoeoProjectVersion = 6
if (isJanoeo) {
version = "${janoeoProjectVersion}.${version}"
}
// ***************************************** //
// //
// Change "Janoeo Template" to what you want //
// //
// ***************************************** //
group = 'fr.alasdiablo.janoeo.template'
archivesBaseName = 'Janoeo Template'
def manifestAttributes = [
"Specification-Title" : "Janoeo Template",
"Specification-Vendor" : "AlasDiablo, Safyrus",
"Specification-Version" : "1",
"Implementation-Title" : project.name,
"Implementation-Version" : project.jar.archiveVersion,
"Implementation-Vendor" : "AlasDiablo, Safyrus",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
]
def outputFolder = file(rootProject.getRootDir().getPath() + '/output')
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
def deobfSourceClassifier
minecraft {
mappings channel: 'parchment', version: '2022.09.04-1.19.2'
deobfSourceClassifier = getMappings().get()
// Uncomment to use access transformer
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
// Uncomment if you use mixin
// arg '-mixin.config=janoeo_template.mixins.json'
mods {
janoeo_template {
source sourceSets.main
}
}
}
server {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
// Uncomment if you use mixin
// arg '-mixin.config=janoeo_template.mixins.json'
mods {
janoeo_template {
source sourceSets.main
}
}
}
data {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
// Uncomment if you use mixin
// args '-mixin.config=janoeo_template.mixins.json', '--mod', 'janoeo_template', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
args '--mod', 'janoeo_template', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
mods {
janoeo_template {
source sourceSets.main
}
}
}
}
}
mixin {
// Uncomment if you use mixin
// add sourceSets.main, 'janoeo_template.mixins.refmap.json'
}
sourceSets.main.resources { srcDir 'src/generated/resources' }
repositories {
maven {
url 'https://cursemaven.com'
content {
includeGroup 'curse.maven'
}
}
}
dependencies {
minecraft 'net.minecraftforge:forge:1.19.2-43.1.32'
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
}
jar {
manifest.attributes(manifestAttributes)
destinationDirectory.set(file(rootProject.getRootDir().getPath() + '/output'))
}
jar.finalizedBy('reobfJar')
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
def archiveName = 'sources-' + deobfSourceClassifier
archiveClassifier.set(archiveName)
destinationDirectory.set(outputFolder)
}
task deobfJar(type: Jar) {
from sourceSets.main.output
def archiveName = 'deobf-' + deobfSourceClassifier
archiveClassifier.set(archiveName)
manifest.attributes(manifestAttributes)
destinationDirectory.set(outputFolder)
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
artifacts {
archives jar
archives sourcesJar
archives deobfJar
}