diff options
author | Lorenz <lo.scherf@gmail.com> | 2022-08-14 20:29:20 +0200 |
---|---|---|
committer | Lorenz <lo.scherf@gmail.com> | 2022-08-14 20:29:20 +0200 |
commit | 4a189d1302d7295b7e1e6ad1fa5f9a296add3757 (patch) | |
tree | b75a230cf5a74a92d3cd50d3bdf6a7323ab379b1 /build.gradle.kts | |
parent | 2b786f4997136509da9efda4e12af57b579fe62b (diff) | |
download | skyhanni-4a189d1302d7295b7e1e6ad1fa5f9a296add3757.tar.gz skyhanni-4a189d1302d7295b7e1e6ad1fa5f9a296add3757.tar.bz2 skyhanni-4a189d1302d7295b7e1e6ad1fa5f9a296add3757.zip |
Using Architectury Loom based template (thanks romangraef for Forge1.8.9Template)
Diffstat (limited to 'build.gradle.kts')
-rw-r--r-- | build.gradle.kts | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 000000000..8528219c8 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,123 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + idea + java + id("gg.essential.loom") version "0.10.0.+" + id("dev.architectury.architectury-pack200") version "0.1.3" + id("com.github.johnrengelman.shadow") version "7.1.2" + kotlin("jvm") version "1.7.20-Beta" +} + +group = "at.hannibal2.skyhanni" +version = "0.2" + +// Toolchains: +java { + toolchain.languageVersion.set(JavaLanguageVersion.of(8)) +} + +// Minecraft configuration: +loom { + launchConfigs { + "client" { + // If you don't want mixins, remove these lines + property("mixin.debug", "true") + property("asmhelper.verbose", "true") + arg("--tweakClass", "org.spongepowered.asm.launch.MixinTweaker") + arg("--mixin", "mixins.skyhanni.json") + } + } + forge { + pack200Provider.set(dev.architectury.pack200.java.Pack200Adapter()) + // If you don't want mixins, remove this lines + mixinConfig("mixins.skyhanni.json") + } + // If you don't want mixins, remove these lines + mixin { + defaultRefmapName.set("mixins.skyhanni.refmap.json") + } +} + +sourceSets.main { + output.setResourcesDir(file("$buildDir/classes/kotlin/main")) +} + +// Dependencies: + +repositories { + mavenCentral() + maven("https://repo.spongepowered.org/maven/") + // If you don't want to log in with your real minecraft account, remove this line + maven("https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1") +} + +val shadowImpl by configurations.creating { + configurations.implementation.get().extendsFrom(this) +} + +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") + + // If you don't want mixins, remove these lines + shadowImpl("org.spongepowered:mixin:0.7.11-SNAPSHOT") { + isTransitive = false + } + annotationProcessor("org.spongepowered:mixin:0.8.4-SNAPSHOT") + + // If you don't want to log in with your real minecraft account, remove this line + modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.1.0") + implementation(kotlin("stdlib-jdk8")) + +} + +// Tasks: + +tasks.withType(JavaCompile::class) { + options.encoding = "UTF-8" +} + +tasks.withType(Jar::class) { + archiveBaseName.set("SkyHanni") + manifest.attributes.run { + this["FMLCorePluginContainsFMLMod"] = "true" + this["ForceLoadAsMod"] = "true" + + // If you don't want mixins, remove these lines + this["TweakClass"] = "org.spongepowered.asm.launch.MixinTweaker" + this["MixinConfigs"] = "mixins.skyhanni.json" + } +} + + +val remapJar by tasks.named<net.fabricmc.loom.task.RemapJarTask>("remapJar") { + archiveClassifier.set("all") + from(tasks.shadowJar) + input.set(tasks.shadowJar.get().archiveFile) +} + +tasks.shadowJar { + archiveClassifier.set("all-dev") + configurations = listOf(shadowImpl) + doLast { + configurations.forEach { + println("Config: ${it.files}") + } + } + + // If you want to include other dependencies and shadow them, you can relocate them in here +// fun relocate(name: String) = relocate(name, "com.examplemod.deps.$name") +} + +tasks.assemble.get().dependsOn(tasks.remapJar) + +val compileKotlin: KotlinCompile by tasks +compileKotlin.kotlinOptions { + jvmTarget = "1.8" +} +val compileTestKotlin: KotlinCompile by tasks +compileTestKotlin.kotlinOptions { + jvmTarget = "1.8" +}
\ No newline at end of file |