import org.teavm.gradle.api.OptimizationLevel buildscript { dependencies { classpath files("src/teavmc-classpath/resources") } } plugins { id "java" id "eclipse" id "org.teavm" version "0.9.2" } sourceSets { main { java { srcDirs( "src/main/java", "src/teavm/java" ) } } eagler { java { srcDir 'src/main/java' srcDir 'src/lwjgl/java' } } } repositories { mavenCentral() } dependencies { teavm(teavm.libs.jso) teavm(teavm.libs.jsoApis) compileOnly "org.teavm:teavm-core:0.9.2" // workaround for a few hacks eaglerImplementation fileTree(dir: './lwjgl-rundir', include: '*.jar') } def folder = "javascript" def name = "classes.js" teavm.js { obfuscated = true // Change to "true" for release, used for debugging sourceMap = true targetFileName = "../" + name optimization = OptimizationLevel.AGGRESSIVE // Change to "AGGRESSIVE" for release outOfProcess = false fastGlobalAnalysis = false processMemory = 1024 entryPointName = "main" mainClass = "net.lax1dude.eaglercraft.internal.teavm.MainClass" outputDir = file(folder) properties = [ "java.util.TimeZone.autodetect": "true" ] debugInformation = false } tasks.register('runclient', JavaExec) { jvmArgs "-Djava.library.path=" + System.getProperty("user.dir") + "/lwjgl-rundir" classpath = sourceSets.eagler.compileClasspath group = "Eaglercraft-0.30" description = "Runs the client" classpath sourceSets.eagler.runtimeClasspath if (System.getProperty("os.name").toLowerCase().contains("mac")) { jvmArgs '-XstartOnFirstThread' } workingDir "./lwjgl-rundir" main 'net.lax1dude.eaglercraft.internal.MainClass' } tasks.register('runclien2', JavaExec) { jvmArgs "-Djava.library.path=" + System.getProperty("user.dir") + "/lwjgl-rundir" classpath = sourceSets.eagler.compileClasspath group = "Eaglercraft-0.30" description = "Runs the client" classpath sourceSets.eagler.runtimeClasspath if (System.getProperty("os.name").toLowerCase().contains("mac")) { jvmArgs '-XstartOnFirstThread' } workingDir "./lwjgl-rundir" main 'net.lax1dude.eaglercraft.internal.MainClass' }