/* * 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 + "-forge" minecraft { forge { devFallbackNamespace = "intermediary" mixinConfig = ["mixins.baritone.json"] } } //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 } dependencies { forge "net.minecraftforge:forge:${rootProject.forge_version}" // because of multiple sourcesets `common project(":")` doesn't work for (sourceSet in rootProject.sourceSets) { if (sourceSet == rootProject.sourceSets.test) continue if (sourceSet == rootProject.sourceSets.schematica_api) continue common sourceSet.output shadowCommon sourceSet.output } } processResources { inputs.property "version", project.version filesMatching("META-INF/mods.toml") { expand "version": project.version } } shadowJar { configurations = [project.configurations.shadowCommon] classifier "dev-shadow" } remapJar { inputFile.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) { compType "forge" } 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. } }