-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
70 lines (56 loc) · 1.83 KB
/
build.gradle.kts
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
import net.ethylene.tasks.CreateTextFile
import net.ethylene.tasks.Utils
import kotlin.io.path.createDirectory
import kotlin.io.path.exists
plugins {
java
application
}
val minecraftVersion: String by extra
val minestomVersion: String by extra
val logbackVersion: String by extra
group = "net.etyhelene"
version = minecraftVersion + "-" + (System.getenv("VERSION") ?: "dev")
base.archivesName.set("Ethylene")
sourceSets.main.get().resources.srcDirs("src/main/resources")
repositories {
mavenCentral()
}
dependencies {
implementation("net.minestom:minestom-snapshots:$minestomVersion")
implementation("ch.qos.logback:logback-classic:$logbackVersion")
}
tasks.register<CreateTextFile>("createLibrariesFile") {
fileName = "libraries.txt"
content = Utils.getDependencies(configurations.runtimeClasspath.get())
}
tasks.register<CreateTextFile>("createRepositoriesFile") {
fileName = "repositories.txt"
content = Utils.getRepositories(repositories)
}
tasks.processResources {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
tasks.jar {
from(tasks.getByName("createLibrariesFile"))
from(tasks.getByName("createRepositoriesFile"))
manifest {
attributes(
"Launcher-Agent-Class" to "net.ethylene.server.launcher.Agent",
"Agent-Class" to "net.ethylene.server.launcher.Agent",
"Premain-Class" to "net.ethylene.server.launcher.Agent",
"Main-Class" to "net.ethylene.server.launcher.Launcher",
"Multi-Release" to true
)
}
}
application {
mainClass = "net.ethylene.server.launcher.Launcher"
}
tasks.named<JavaExec>("run") {
val path = rootDir.toPath().resolve("run")
args = listOf("-nolibraries", "-accepteula")
workingDir = path.toFile()
standardInput = System.`in`
if (!path.exists()) path.createDirectory()
}