/*
 * This file is part of Baritone.
 *
 * Baritone is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Baritone is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with Baritone.  If not, see <https://www.gnu.org/licenses/>.
 */

group 'baritone'
version '0.0.2'

buildscript {
    repositories {
        maven {
            name = 'forge'
            url = 'http://files.minecraftforge.net/maven'
        }
        maven {
            name = 'SpongePowered'
            url = 'http://repo.spongepowered.org/maven'
        }
        jcenter()
    }

    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
        classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
    }
}

apply plugin: 'java'
apply plugin: 'net.minecraftforge.gradle.tweaker-client'
apply plugin: 'org.spongepowered.mixin'

sourceCompatibility = targetCompatibility = '1.8'
compileJava {
    sourceCompatibility = targetCompatibility = '1.8'
}

sourceSets {
    launch {
        compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output
    }
}

minecraft {
    version = '1.12.2'
    mappings = 'snapshot_20180731'
    tweakClass = 'baritone.launch.BaritoneTweaker'
    runDir = 'run'
    makeObfSourceJar = false
}

repositories {
    mavenCentral()

    maven {
        name = 'spongepowered-repo'
        url = 'http://repo.spongepowered.org/maven/'
    }
}

dependencies {
    runtime launchCompile('org.spongepowered:mixin:0.7.11-SNAPSHOT') {
        // Mixin includes a lot of dependencies that are too up-to-date
        exclude module: 'launchwrapper'
        exclude module: 'guava'
        exclude module: 'gson'
        exclude module: 'commons-io'
        exclude module: 'log4j-core'
    }
    testImplementation 'junit:junit:4.12'
}

mixin {
    defaultObfuscationEnv notch
    add sourceSets.launch, 'mixins.baritone.refmap.json'
}

jar {
    from sourceSets.launch.output, sourceSets.api.output
}