-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
155 lines (122 loc) · 3.56 KB
/
Copy pathbuild.gradle
File metadata and controls
155 lines (122 loc) · 3.56 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
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
plugins {
id 'java-library'
id 'maven-publish'
id 'eclipse'
}
version = modVersion //To change the version of your mod, edit modVersion in gradle.properties
group = "com.wildermods"
base.archivesName = "launcher"
ext.gameVersion = "1.16+562"
apply plugin: 'com.wildermods.workspace'
apply from: 'verifyCompilation.gradle'
apply from: 'replaceTokenScript.gradle' //see replaceTokenScript.gradle!
apply from: 'publishScript.gradle' //If you're not going to publish to a maven repository, you can delete this line and delete publishScript.gradle.
repositories {
mavenLocal()
mavenCentral()
maven {
url "https://maven.fabricmc.net/"
}
maven {
url "https://maven.wildermods.com/" //The Wilderforge API is located in a custom maven repository
}
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
}
def baseGameLibs = providers.provider {
fileTree(dir: "$projectDir/bin/lib", include: ['*.jar'])
//.matching {
// exclude { it.file.name.startsWith("commons-io") }
//}
}
def java8Home = javaToolchains
.launcherFor {
languageVersion = JavaLanguageVersion.of(8)
}
tasks.named("classes") {
dependsOn tasks.named("compileJava8")
}
def java8set
sourceSets {
java8set = java8 {
java {
srcDirs = ['src/main/java8']
}
compileClasspath = files() + sourceSets.java8.compileClasspath
}
main {
java {
srcDirs = ['src/main/java']
}
}
}
def compileJava8 = tasks.register('compileJava8', JavaCompile) {
doFirst {
logger.lifecycle("compileJava8 using compiler: ${javaCompiler.get().metadata.installationPath.asFile}")
}
source = sourceSets.java8.java
destinationDirectory = file("$buildDir/classes/java/java8")
classpath = files() + sourceSets.java8.compileClasspath
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
javaCompiler.set(javaToolchains.compilerFor {
languageVersion = JavaLanguageVersion.of(8)
})
}
dependencies {
//REQUIRED MODS & SHADOWED DEPS
api libs.wilderforge
nest libs.wilderforge
api libs.thrixlvault
nest libs.thrixlvault
api libs.maven.fetcher
nest libs.maven.fetcher
api libs.workspace
nest libs.workspace
api libs.commons.io
nest libs.commons.io
api libs.plexus.utils
nest libs.plexus.utils
api libs.plexus.interpolation
nest libs.plexus.interpolation
api libs.plexus.xml
nest libs.plexus.xml
api libs.maven.core
nest libs.maven.core
api libs.log4j.commons.bridge
nest libs.log4j.commons.bridge
//LOADER & INSTALLER REQUIREMENTS
implementation libs.workspace.capabilities
implementation libs.fabric.loader
implementation libs.vineflower
implementation libs.asm
implementation libs.asm.analysis
implementation libs.asm.commons
implementation libs.asm.tree
implementation libs.asm.util
java8Implementation libs.gson
}
eclipse { //for some reason gradle is not adding the source set to eclipse automatically??
classpath {
sourceSets += java8set
}
}
tasks.compileJava {
dependsOn compileJava8
// Exclude java8 source files from compileJava task source
source = sourceSets.main.java.filter { file ->
!sourceSets.java8.allJava.contains(file)
}
// Add java8 compiled output to classpath so main can reference java8 classes
classpath += files(compileJava8.get().destinationDirectory)
}
tasks.classes {
dependsOn compileJava8
}
tasks.named("jar") {
dependsOn compileJava8
from(compileJava8.map { it.destinationDirectory })
}