86 lines
2.2 KiB
Groovy
86 lines
2.2 KiB
Groovy
plugins {
|
|
id "com.github.johnrengelman.shadow" version "7.1.2"
|
|
}
|
|
|
|
architectury {
|
|
platformSetupLoomIde()
|
|
forge()
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = project(":common").loom.accessWidenerPath
|
|
|
|
forge {
|
|
convertAccessWideners = true
|
|
extraAccessWideners.add loom.accessWidenerPath.get().asFile.name
|
|
|
|
mixinConfig "knockdowns-common.mixins.json"
|
|
mixinConfig "knockdowns.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
|
|
}
|
|
|
|
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 }
|
|
|
|
implementation(include("io.github.llamalad7:mixinextras-forge:0.3.3"))
|
|
}
|
|
|
|
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]
|
|
archiveClassifier = "dev-shadow"
|
|
}
|
|
|
|
remapJar {
|
|
input.set shadowJar.archiveFile
|
|
dependsOn shadowJar
|
|
}
|
|
|
|
sourcesJar {
|
|
def commonSources = project(":common").sourcesJar
|
|
dependsOn commonSources
|
|
from commonSources.archiveFile.map { zipTree(it) }
|
|
}
|
|
|
|
components.java {
|
|
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
|
|
skip()
|
|
}
|
|
}
|
|
|
|
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.
|
|
}
|
|
}
|