/* * 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 . */ import baritone.gradle.task.CreateDistTask import baritone.gradle.task.ProguardTask plugins { id "com.github.johnrengelman.shadow" version "7.0.0" } archivesBaseName = archivesBaseName + "-" + project.name architectury { platformSetupLoomIde() forge() } loom { forge { mixinConfig 'mixins.baritone.json' } } configurations { common shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common developmentFabric.extendsFrom common } dependencies { forge "net.minecraftforge:forge:${rootProject.forge_version}" // this makes it compile with the forge tweak stuff compileOnly 'com.github.ImpactDevelopment:SimpleTweaker:1.2' compileOnly('net.minecraft:launchwrapper:1.12') { exclude module: 'lwjgl' exclude module: 'asm-debug-all' } common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive false } } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version } } shadowJar { exclude("fabric.mod.json") configurations = [project.configurations.shadowCommon] classifier "dev-shadow" } remapJar { input.set shadowJar.archiveFile dependsOn shadowJar classifier null } jar { classifier "dev" manifest { attributes( 'MixinConfigs': 'mixins.baritone.json', "MixinConnector": "baritone.launch.BaritoneMixinConnector", 'Implementation-Title': 'Baritone', 'Implementation-Version': version, ) } } components.java { withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { skip() } } task proguard(type: ProguardTask) { url 'https://github.com/Guardsquare/proguard/releases/download/v7.2.1/proguard-7.2.1.zip' extract 'proguard-7.2.1/lib/proguard.jar' compType "FORGE" } task createDist(type: CreateDistTask, dependsOn: proguard) build.finalizedBy(createDist) publishing { publications { mavenFabric(MavenPublication) { artifactId = rootProject.archives_base_name + "-" + project.name from components.java } } // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. repositories { // Add repositories to publish to here. } }