
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'io.github.zebalu:teavm-gradle-plugin:1.0.0'
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'io.github.zebalu.teavm-gradle-plugin'

sourceCompatibility = 1.8
targetCompatibility = 1.8

sourceSets {
    main {
        java {
            srcDir 'src/main/java'
            srcDir 'src/teavm/java'
        }
    }
}

repositories {
    mavenCentral()
}

dependencies {
    /** we use 0.6.1 due to performance issues on 7.0.0 */
    implementation 'org.teavm:teavm-platform:0.6.1'
    implementation('org.teavm:teavm-classlib:0.6.1') {
    	exclude group: 'com.google.code.gson', module: 'gson'
    }
}

teavm {
   
   compileScopes = null;
   minifying = true;
   maxTopLevelNames = 10000;
   properties = null;
   debugInformationGenerated = false;
   sourceMapsGenerated = true;
   sourceFilesCopied = false;
   incremental = false;
   transformers = null;
   
   /** Where to save the result */
   targetDirectory = file("javascript");
   
   /** The directory to monitor to decide if compile is up-to-date or not */
   sourceDirectory = file("src");
   
   /** How to name the result file. */
   targetFileName = "classes.js";
   
   /** Which class holds your public static void main(Strin[] args) method */
   mainClass = 'net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass';
   
   /** This will be the name of your main method after compilation. */
   entryPointName = 'main';
   
   classesToPreserve = null;
   stopOnErrors = false;
   optimizationLevel = "ADVANCED"; //org.teavm.vm.TeaVMOptimizationLevel.SIMPLE;
   fastGlobalAnalysis = false;
   targetType = "JAVASCRIPT"; //org.teavm.tooling.TeaVMTargetType.JAVASCRIPT;
   cacheDirectory = null;
   wasmVersion = "V_0x1"; //org.teavm.backend.wasm.render.WasmBinaryVersion.V_0x1;
   minHeapSize = 4;
   maxHeapSize = 128;
   outOfProcess = false;
   processMemory = 512;
   longjmpSupported = true;
   heapDump = false;
   
   /** Add name of configurations here where to look for jarfiles. */
   includeJarsFrom = [];
   
   /** By default teavmc taskd epends on javaCompile task, unless this varaibale is true. */
   skipJavaCompile = false;       
}
