DimDoors/forge/build.gradle
2023-05-12 09:13:06 -05:00

119 lines
3 KiB
Groovy

plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
}
architectury {
platformSetupLoomIde()
forge()
}
loom {
runs {
data {
data()
programArgs("--all", "--mod", "dimdoors")
programArgs("--output", project(":common").file("src/main/generated/resources").absolutePath)
programArgs("--existing", project(":common").file("src/main/resources").absolutePath)
}
}
accessWidenerPath = project(":common").loom.accessWidenerPath
forge {
convertAccessWideners = true
extraAccessWideners.add loom.accessWidenerPath.get().asFile.name
mixinConfig "examplemod-common.mixins.json"
mixinConfig "examplemod.mixins.json"
}
}
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin since it *excludes* files.
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentForge.extendsFrom common
}
repositories {
maven { url "https://maven.bai.lol" }
maven {
url "https://cursemaven.com"
}
maven { url "https://maven.enginehub.org/repo/" }
}
dependencies {
forge "net.minecraftforge:forge:${rootProject.forge_version}"
// Remove the next line if you don't want to depend on the API
modApi "dev.architectury:architectury-forge:${rootProject.architectury_version}"
common(project(path: ":common", configuration: "namedElements")) { transitive false }
shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false }
modApi "mcp.mobius.waila:wthit-api:forge-${wthitVersion}"
modApi "mcp.mobius.waila:wthit:forge-${wthitVersion}"
modApi "lol.bai:badpackets:forge-0.2.0"
modApi "com.sk89q.worldedit:worldedit-forge-mc${rootProject.minecraft_version}:${rootProject.worldedit}"
}
processResources {
inputs.property "version", project.version
filesMatching("META-INF/mods.toml") {
expand "version": project.version
}
}
shadowJar {
exclude "fabric.mod.json"
exclude "architectury.common.json"
configurations = [project.configurations.shadowCommon]
classifier "dev-shadow"
}
remapJar {
input.set shadowJar.archiveFile
dependsOn shadowJar
classifier null
}
jar {
classifier "dev"
}
sourcesJar {
def commonSources = project(":common").sourcesJar
dependsOn commonSources
from commonSources.archiveFile.map { zipTree(it) }
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
sourceSets {
main {
java {
srcDir "src/main/datagen"
}
}
}
publishing {
publications {
mavenForge(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.
}
}