forked from Ramy-LMM/LittleMaidMobX-kai
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
142 lines (119 loc) · 3.98 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
buildscript {
repositories {
mavenCentral()
maven { url "https://maven.minecraftforge.net" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.1.+') {
changing = true
}
}
}
plugins{
id 'java-library'
id 'maven-publish'
}
apply plugin: 'forge'
version = "1.6.4-forked-fix"
group= "littleMaidMobX" // https://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "littleMaidMobX"
// These settings allow you to choose what version of Java you want to be compatible with. Forge 1.7.10 runs on Java 6 to 8.
java {
toolchain {
languageVersion = JavaLanguageVersion.of(8)
}
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
minecraft {
version = "1.7.10-10.13.4.1481-1.7.10"
runDir = "run"
runClient {
jvmArgs = ['-Dfml.coreMods.load=mmmlibx.lib.multiModel.MMMLoader.MMMCoremod']
}
runServer {
jvmArgs = ['-Dfml.coreMods.load=mmmlibx.lib.multiModel.MMMLoader.MMMCoremod']
}
}
sourceSets.main {
output.setResourcesDir(file("${layout.buildDirectory.get()}/classes/java/main"))
}
repositories {
maven {
url 'https://jitpack.io'
}
}
dependencies {
implementation("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:0.1.19:dev")
annotationProcessor("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:0.1.19:dev")
compileOnly("com.github.GTNewHorizons:Backhand:1.6.5")
compileOnly fileTree(dir: './modlibs', include: '*.jar')
}
processResources
{
// This will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// Replace values in only mcmod.info.
filesMatching('mcmod.info') {
// Replace version and mcversion.
expand 'version':project.version, 'mcversion':project.minecraft.version
}
}
def outSrgFile = "${tasks.compileJava.temporaryDir}/outSrg.srg"
def outRefMapFile = "${tasks.compileJava.temporaryDir}/mixins.lmmx.refmap.json"
jar {
manifest {
attributes 'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker'
attributes 'FMLCorePlugin': 'mmmlibx.lib.multiModel.MMMLoader.MMMCoremod'
attributes 'FMLCorePluginContainsFMLMod': 'mmmlibx.lib.MMMLib'
attributes 'ForceLoadAsMod': true
}
from outRefMapFile
}
tasks.compileJava.options.compilerArgs += ["-AreobfSrgFile=${tasks.reobf.srg}", "-AoutSrgFile=${outSrgFile}", "-AoutRefMapFile=${outRefMapFile}"];
reobf {
addExtraSrgFile outSrgFile
}
// Ensures that the encoding of source files is set to UTF-8, see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
}
// This task creates a .jar file containing the source code of this mod.
tasks.register('sourcesJar', Jar) {
archiveClassifier = "sources"
dependsOn classes
from sourceSets.main.allSource
}
// This task creates a .jar file containing a deobfuscated version of this mod, for other developers to use in a development environment.
tasks.register('devJar', Jar) {
archiveClassifier = "devJar"
from sourceSets.main.output
}
// Creates the listed artifacts on building the mod.
artifacts {
archives sourcesJar
archives devJar
}
// This block configures any maven publications you want to make.
publishing {
publications {
mavenJava(MavenPublication) {
// Add any other artifacts here that you would like to publish!
artifact(jar) {
builtBy build
}
artifact(sourcesJar) {
builtBy sourcesJar
}
artifact(devJar) {
builtBy devJar
}
}
}
// This block selects the repositories you want to publish to.
repositories {
// Add the repositories you want to publish to here.
}
}