Spaces:
Build error
Build error
import org.teavm.gradle.api.OptimizationLevel | |
buildscript { | |
repositories { | |
mavenLocal() | |
maven { url = 'https://maven.minecraftforge.net' } | |
mavenCentral() | |
gradlePluginPortal() | |
} | |
dependencies { | |
classpath files("src/teavmc-classpath/resources") | |
classpath 'net.minecraftforge.gradle:ForgeGradle:6+' | |
classpath "gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:1.1.3" | |
} | |
} | |
import net.minecraftforge.gradle.common.util.Utils | |
import net.minecraftforge.gradle.common.util.VersionJson | |
plugins { | |
id "java" | |
id "eclipse" | |
id "org.teavm" version "0.9.2" | |
} | |
sourceSets { | |
main { | |
java { | |
srcDirs( | |
"src/main/java", | |
"src/game/java", | |
"src/protocol-game/java", | |
"src/protocol-relay/java", | |
"src/teavm/java", | |
"src/teavm-boot-menu/java" | |
) | |
} | |
} | |
} | |
repositories { | |
mavenCentral() | |
maven { url = 'https://libraries.minecraft.net/' } | |
maven { url = 'https://maven.minecraftforge.net' } | |
} | |
dependencies { | |
teavm(teavm.libs.jso) | |
teavm(teavm.libs.jsoApis) | |
compileOnly "org.teavm:teavm-core:0.9.2" // workaround for a few hacks | |
// Minecraft 1.21.5 relevante Dependencies | |
implementation 'org.apache.logging.log4j:log4j-api:2.24.1' | |
implementation 'org.apache.logging.log4j:log4j-slf4j2-impl:2.24.1' | |
implementation 'org.apache.logging.log4j:log4j-core:2.24.1' | |
implementation 'org.apache.httpcomponents:httpcore:4.4.16' | |
implementation 'org.apache.httpcomponents:httpclient:4.5.14' | |
implementation 'org.apache.commons:commons-lang3:3.17.0' | |
implementation 'org.apache.commons:commons-compress:1.27.1' | |
implementation 'org.lwjgl:lwjgl-glfw:3.3.3' | |
implementation 'org.lwjgl:lwjgl:3.3.3' | |
implementation 'org.lwjgl:lwjgl-jemalloc:3.3.3' | |
implementation 'org.lwjgl:lwjgl-opengl:3.3.3' | |
implementation 'org.lwjgl:lwjgl-freetype:3.3.3' | |
implementation 'org.lwjgl:lwjgl-stb:3.3.3' | |
implementation 'org.lwjgl:lwjgl-tinyfd:3.3.3' | |
implementation 'org.lwjgl:lwjgl-openal:3.3.3' | |
implementation 'org.joml:joml:1.10.8' | |
implementation 'org.lz4:lz4-java:1.8.0' | |
implementation 'org.ow2.asm:asm:9.6' | |
implementation 'org.slf4j:slf4j-api:2.0.16' | |
implementation 'org.jcraft:jorbis:0.0.17' | |
implementation 'org.jetbrains:annotations:24.1.0' | |
implementation 'it.unimi.dsi:fastutil:8.5.15' | |
implementation 'commons-io:commons-io:2.17.0' | |
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4.2' | |
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.4' | |
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.4' | |
implementation 'com.ibm.icu:icu4j:76.1' | |
implementation 'com.microsoft.azure:msal4j:1.17.2' | |
implementation 'com.mojang:brigadier:1.3.10' | |
implementation 'com.mojang:datafixerupper:8.0.16' | |
implementation 'com.mojang:authlib:6.0.58' | |
implementation 'com.mojang:text2speech:1.18.11' | |
implementation 'com.mojang:blocklist:1.0.10' | |
implementation 'com.google.guava:guava:33.3.1-jre' | |
implementation 'com.google.code.gson:gson:2.11.0' | |
implementation 'com.github.oshi:oshi-core:6.6.5' | |
implementation 'com.github.stephenc.jcip:jcip-annotations:1.0-1' | |
implementation 'com.nimbusds:content-type:2.3' | |
implementation 'com.nimbusds:nimbus-jose-jwt:9.40' | |
implementation 'com.nimbusds:lang-tag:1.7' | |
implementation 'com.nimbusds:oauth2-oidc-sdk:11.18' | |
implementation 'commons-codec:commons-codec:1.17.1' | |
implementation 'io.netty:netty-transport:4.1.118.Final' | |
implementation 'io.netty:netty-transport-classes-epoll:4.1.118.Final' | |
implementation 'io.netty:netty-handler:4.1.118.Final' | |
implementation 'io.netty:netty-buffer:4.1.118.Final' | |
implementation 'io.netty:netty-resolver:4.1.118.Final' | |
implementation 'io.netty:netty-transport-native-unix-common:4.1.118.Final' | |
implementation 'io.netty:netty-common:4.1.118.Final' | |
implementation 'io.netty:netty-codec:4.1.118.Final' | |
implementation 'net.sf.jopt-simple:jopt-simple:5.0.4' | |
implementation 'net.java.dev.jna:jna-platform:5.15.0' | |
implementation 'net.java.dev.jna:jna:5.15.0' | |
implementation 'net.minecraftforge:forge:1.20.4-49.0.50' | |
implementation 'net.minecraftforge:forgespi:7.0.0' | |
implementation 'net.minidev:json-smart:2.5.1' | |
implementation 'net.minidev:accessors-smart:2.5.1' | |
implementation 'commons-logging:commons-logging:1.3.4' | |
implementation 'ca.weblite:java-objc-bridge:1.1' | |
implementation 'org.json:json:20240303' | |
//implementation files('com/mojang/logging/1.5.10/logging-1.5.10.jar') | |
//implementation files('com/mojang/jtracy/1.0.29/jtracy-1.0.29.jar') | |
//implementation files('com/mojang/jtracy/1.0.29/jtracy-1.0.29-natives-windows.jar') | |
//implementation files('com/mojang/patchy/2.2.10/patchy-2.2.10.jar') | |
// Lokale JARs (nur falls online nicht verfügbar) | |
implementation files( | |
'src/jars/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows.jar', | |
'src/jars/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-arm64.jar', | |
'src/jars/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-x86.jar', | |
'src/jars/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows.jar', | |
// Die folgenden JARs sind NICHT öffentlich verfügbar: | |
'src/jars/com/mojang/jtracy/1.0.29/jtracy-1.0.29.jar', | |
'src/jars/com/mojang/jtracy/1.0.29/jtracy-1.0.29-natives-windows.jar', | |
'src/jars/com/mojang/patchy/2.2.10/patchy-2.2.10.jar', | |
'src/jars/com/mojang/logging/1.5.10/logging-1.5.10.jar' | |
) | |
} | |
def folder = "javascript" | |
def name = "classes.js" | |
teavm.js { | |
compileJava.options.encoding = "UTF-8" | |
obfuscated = true | |
sourceMap = true | |
targetFileName = "../" + name | |
optimization = OptimizationLevel.BALANCED // Change to "AGGRESSIVE" for release | |
outOfProcess = false | |
fastGlobalAnalysis = false | |
processMemory = 512 | |
entryPointName = "main" | |
mainClass = "net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass" | |
outputDir = file(folder) | |
properties = [ "java.util.TimeZone.autodetect": "true" ] | |
debugInformation = false | |
} | |
tasks.named("generateJavaScript") { | |
doLast { | |
// NOTE: This step may break at any time, and is not required for 99% of browsers | |
def phile = file(folder + "/" + name) | |
def dest = phile.getText("UTF-8") | |
def i = dest.substring(0, dest.indexOf("=\$rt_globals.Symbol('jsoClass');")).lastIndexOf("let ") | |
dest = dest.substring(0, i) + "var" + dest.substring(i + 3) | |
def j = dest.indexOf("function(\$rt_globals,\$rt_exports){") | |
dest = dest.substring(0, j + 34) + "\n" + file(folder + "/ES6ShimScript.txt").getText("UTF-8") + "\n" + dest.substring(j + 34) | |
phile.write(dest, "UTF-8") | |
} | |
} |