/* * 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 . */ group 'baritone' version '1.2.15' buildscript { repositories { maven { name = 'forge' url = 'http://files.minecraftforge.net/maven' } maven { name = 'SpongePowered' url = 'https://repo.spongepowered.org/repository/maven-public/' } jcenter() } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT' } } import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask apply plugin: 'java' apply plugin: 'maven' apply plugin: 'net.minecraftforge.gradle.tweaker-client' apply plugin: 'org.spongepowered.mixin' sourceCompatibility = targetCompatibility = '1.8' compileJava { sourceCompatibility = targetCompatibility = '1.8' options.encoding = "UTF-8" // allow emoji in comments :^) } sourceSets { launch { compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output } schematica_api { compileClasspath += main.compileClasspath } main { compileClasspath += schematica_api.output } } minecraft { version = '1.12.2' mappings = 'stable_39' tweakClass = 'baritone.launch.BaritoneTweaker' runDir = 'run' // The sources jar should use SRG names not MCP to ensure compatibility with all mappings makeObfSourceJar = true } repositories { mavenCentral() maven { name = 'spongepowered-repo' url = 'https://repo.spongepowered.org/repository/maven-public/' } maven { name = 'impactdevelopment-repo' url = 'https://impactdevelopment.github.io/maven/' } } dependencies { runtime launchCompile('com.github.ImpactDevelopment:SimpleTweaker:1.2') 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 searge add sourceSets.launch, 'mixins.baritone.refmap.json' } javadoc { options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error options.linkSource true options.encoding "UTF-8" // allow emoji in comments :^) source = sourceSets.api.allJava classpath += sourceSets.api.compileClasspath } jar { from sourceSets.launch.output, sourceSets.api.output if (!getProject().hasProperty("baritone.forge_build")) { exclude "**/BaritoneForgeModXD.class" exclude "**/mods.toml" } preserveFileTimestamps = false reproducibleFileOrder = true manifest { attributes( 'MixinConfigs': 'mixins.baritone.json', 'Implementation-Title': 'Baritone', 'Implementation-Version': version ) } } task proguard(type: ProguardTask) { url 'https://downloads.sourceforge.net/project/proguard/proguard/6.0/proguard6.0.3.zip' extract 'proguard6.0.3/lib/proguard.jar' } task createDist(type: CreateDistTask, dependsOn: proguard) build.finalizedBy(createDist) install { def jarApiName = String.format("%s-api-%s", rootProject.name, version.toString()) def jarApiForgeName = String.format("%s-api-forge-%s", rootProject.name, version.toString()) def jarSAName = String.format("%s-standalone-%s", rootProject.name, version.toString()) def jarSAForgeName = String.format("%s-standalone-forge-%s", rootProject.name, version.toString()) artifacts { archives file("$buildDir/libs/"+jarApiName+".jar") archives file("$buildDir/libs/"+jarApiForgeName+".jar") archives file("$buildDir/libs/"+jarSAName+".jar") archives file("$buildDir/libs/"+jarSAForgeName+".jar") } repositories.mavenInstaller { addFilter('api') { artifact, file -> artifact.name == "baritone-api" } addFilter('api-forge') { artifact, file -> artifact.name == "baritone-api-forge" } addFilter('standalone') { artifact, file -> artifact.name == "baritone-standalone" } addFilter('standalone-forge') { artifact, file -> artifact.name == "baritone-standalone-forge" } } } install.dependsOn(build)