-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
149 lines (121 loc) · 3.51 KB
/
build.gradle
File metadata and controls
149 lines (121 loc) · 3.51 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
plugins {
id 'java-library'
id 'maven-publish'
id 'eclipse'
}
ext.gameVersion = "1.16+562"
version = modVersion //To change the version of your mod, edit modVersion in gradle.properties
group = "com.wildermods"
base.archivesName = "launcher"
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.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)
})
}
wilderWorkspace {
useDependency("1.16+562")
}
dependencies {
nest libs.wilderforge
nest libs.thrixlvault
nest libs.maven.fetcher
nest libs.workspace
nest libs.commons.io
nest libs.plexus.utils
nest libs.plexus.interpolation
nest libs.plexus.xml
nest libs.maven.core
nest libs.log4j.commons.bridge
api libs.wilderforge
api libs.thrixlvault
api libs.workspace
api libs.commons.io
api libs.plexus.utils
api libs.plexus.interpolation
api libs.plexus.xml
api libs.maven.core
api libs.log4j.commons.bridge
api libs.fabric.loader
api libs.vineflower
java8Implementation libs.gson
/**********
Don't alter the dependencies below.
It allows the buildscript to recognize the base game.
***********/
//Wildermyth, Scratchpad
compileOnly fileTree(dir: './bin/', include: ['*.jar'])
//All dependencies of Wildermyth itself
compileOnly fileTree(dir: './bin/lib/', include: ['*.jar'])
}
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 })
}