-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
69 lines (61 loc) · 2.05 KB
/
Copy pathbuild.gradle
File metadata and controls
69 lines (61 loc) · 2.05 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
import org.teavm.gradle.api.OptimizationLevel
plugins {
id 'java'
id 'eclipse'
id 'org.teavm' version '0.9.2'
}
sourceSets {
main {
java {
srcDir 'src/main/java'
srcDir 'src/teavm/java'
}
resources {
srcDir 'src/teavm/resources'
}
}
}
repositories {
mavenCentral()
}
dependencies {
teavm(teavm.libs.jso)
teavm(teavm.libs.jsoApis)
compileOnly "org.teavm:teavm-core:0.9.2"
}
def folder = "discord/client/public"
def name = "classes.js"
teavm.js {
compileJava.options.encoding = "UTF-8"
obfuscated = true
sourceMap = false
targetFileName = "../classes.js"
optimization = OptimizationLevel.BALANCED // Change to "AGGRESSIVE" for release
outOfProcess = false
fastGlobalAnalysis = false
processMemory = 512
entryPointName = 'main'
mainClass = 'net.lax1dude.eaglercraft.internal.teavm.MainClass'
outputDir = file(folder)
properties = ["java.util.TimeZone.autodetect": "true"]
debugInformation = false
}
tasks.named("generateJavaScript") {
doLast {
def phile = file("discord/client/index.html")
def dest = phile.getText("UTF-8")
def date = (new Date()).format('yyyyMMddHHmmss')
def i = dest.lastIndexOf("?v=0")
def j = dest.indexOf('"></script> <!')
dest = dest.substring(0, i + 4) + date + dest.substring(j)
phile.write(dest, "UTF-8")
// NOTE: This step may break at any time, and is not required for 99% of browsers
phile = file(folder + "/" + name)
dest = phile.getText("UTF-8")
i = dest.substring(0, dest.indexOf("=\$rt_globals.Symbol('jsoClass');")).lastIndexOf("let ")
dest = dest.substring(0, i) + "var" + dest.substring(i + 3)
j = dest.indexOf("function(\$rt_globals,\$rt_exports){")
dest = dest.substring(0, j + 34) + "\n" + file(folder + "/ES6ShimScript.js").getText("UTF-8") + "\n" + dest.substring(j + 34)
phile.write(dest, "UTF-8")
}
}