diff options
Diffstat (limited to 'build.gradle')
-rw-r--r--[-rwxr-xr-x] | build.gradle | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle index 83f62df1..7252969e 100755..100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,147 @@ + +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +plugins { + id "idea" + id "java" + id "com.github.johnrengelman.shadow" version "7.1.2" + id "dev.architectury.architectury-pack200" version "0.1.3" + id "gg.essential.loom" version "0.10.0.+" +} + tasks.wrapper { gradleVersion = "7.4" // You can either download the binary-only version of Gradle (BIN) or // the full version (with sources and documentation) of Gradle (ALL) distributionType = Wrapper.DistributionType.ALL +} +version = "3.8.0" +group = "kr.syeyoung.dungeonsguide" +archivesBaseName = "dungeonsguide" + +java { + toolchain.languageVersion.set(JavaLanguageVersion.of(8)) +} + +loom { + launchConfigs { + client { + } + } + runs { + "client" { + property('devauth.enabled','true') + client() + } + } + forge { + pack200Provider.set(new dev.architectury.pack200.java.Pack200Adapter()) + } +} + + +sourceSets.main { + output.setResourcesDir(file("$buildDir/classes/java/main")) +} + + +repositories { + mavenCentral() + maven { url "https://jitpack.io" } + maven {url "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1"} +} + +configurations { + implementation.extendsFrom shadowImpl +} + + +dependencies { + minecraft("com.mojang:minecraft:1.8.9") + mappings("de.oceanlabs.mcp:mcp_stable:22-1.8.9") + forge("net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9") + + + implementation 'org.jetbrains:annotations-java5:23.0.0' + implementation 'org.java-websocket:Java-WebSocket:1.5.3' + implementation "org.json:json:20220924" + implementation 'com.twelvemonkeys.imageio:imageio-bmp:3.8.3' + + compileOnly 'org.projectlombok:lombok:1.18.24' + annotationProcessor 'org.projectlombok:lombok:1.18.24' + + compileOnly files("jars/Hychat-1.12.1-BETA.jar") + + testCompileOnly "org.projectlombok:lombok:1.18.24" + testAnnotationProcessor "org.projectlombok:lombok:1.18.24" + modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.1.0") +} + +tasks.withType(JavaCompile) { + options.encoding = "UTF-8" +} + +tasks.withType(Jar) { + archivesBaseName = "dungeonsguide" + manifest { + attributes["FMLCorePluginContainsFMLMod"] = "true" + attributes["ForceLoadAsMod"] = "true" + + // If you don't want mixins, remove these lines +// this["TweakClass"] = "org.spongepowered.asm.launch.MixinTweaker" +// this["MixinConfigs"] = "mixins.examplemod.json" + } +} + + +tasks.shadowJar { + + archiveFileName = jar.archiveFileName + + relocate "org.java_websocket", "kr.syeyoung.org.java_websocket" + + dependencies { + include(dependency("org.java-websocket:Java-WebSocket:1.5.3")) + include(dependency("org.slf4j:slf4j-api:1.7.25")) + include(dependency("org.json:json:20220924")) + include(dependency("com.twelvemonkeys..*:.*")) + } +} + +tasks.named("remapJar") { + archiveClassifier = "all" + from(tasks.shadowJar) + input = tasks.shadowJar.archiveFile +} + + +tasks.assemble.dependsOn tasks.remapJar + +processResources { + inputs.property 'version', project.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + duplicatesStrategy = 'include' + include 'mcmod.info' + + // replace version and mcversion + expand 'version': project.version + } }
\ No newline at end of file |