plugins { id 'java' id 'eclipse' id 'org.teavm' version '0.9.2' } sourceSets { main { java { srcDir 'src/main/java' srcDir 'src/teavm/java' } } eagler { java { srcDir 'src/main/java' srcDir 'src/lwjgl/java' } } } repositories { mavenCentral() } dependencies { teavm(teavm.libs.jso) teavm(teavm.libs.jsoApis) eaglerImplementation fileTree(dir: './desktopRuntime/eclipseProject/deps_fix/', include: '*.jar') } teavm.js { obfuscated = true sourceMap = true targetFileName = "../classes.js" optimization = org.teavm.gradle.api.OptimizationLevel.AGGRESSIVE outOfProcess = false fastGlobalAnalysis = false processMemory = 512 entryPointName = 'main' mainClass = 'net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass' outputDir = file("javascript") properties = null debugInformation = false } tasks.register('runclient', JavaExec) { classpath = sourceSets.eagler.compileClasspath group = "ShadowClient" description = "Runs the client" classpath sourceSets.eagler.runtimeClasspath if (System.getProperty("os.name").toLowerCase().contains("mac")) { jvmArgs '-XstartOnFirstThread' } workingDir "./desktopRuntime" main 'net.lax1dude.eaglercraft.v1_8.internal.lwjgl.MainClass' } tasks.register('buildClient', Jar) { group = "no" description = "Builds the client" archiveBaseName = "eaglercraft" destinationDirectory = file("desktopRuntime") from sourceSets.eagler.output dependsOn 'classes' manifest { attributes( 'Main-Class': 'net.lax1dude.eaglercraft.v1_8.internal.lwjgl.MainClass' ) } }