projectile-ding/quilt/build.gradle
2024-08-31 22:19:17 +01:00

66 lines
2 KiB
Groovy

plugins {
id 'com.github.johnrengelman.shadow'
}
repositories {
maven { url 'https://maven.quiltmc.org/repository/release/' }
}
architectury {
platformSetupLoomIde()
loader('quilt')
}
configurations {
common {
canBeResolved = true
canBeConsumed = false
}
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentQuilt.extendsFrom common
// Files in this configuration will be bundled into your mod using the Shadow plugin.
// Don't use the `shadow` configuration from the plugin itself as it's meant for excluding files.
shadowBundle {
canBeResolved = true
canBeConsumed = false
}
}
dependencies {
modImplementation "org.quiltmc:quilt-loader:$rootProject.quilt_loader_version"
// Quilt Standard Libraries and QSL.
modImplementation "org.quiltmc.quilted-fabric-api:quilted-fabric-api:$rootProject.quilted_fabric_api_version"
// Architectury API. This is optional, and you can comment it out if you don't need it.
modImplementation("dev.architectury:architectury-fabric:$rootProject.architectury_api_version") {
// We must not pull Fabric Loader and Fabric API from Architectury Fabric.
exclude group: 'net.fabricmc'
exclude group: 'net.fabricmc.fabric-api'
}
common(project(path: ':common', configuration: 'namedElements')) { transitive false }
shadowBundle project(path: ':common', configuration: 'transformProductionQuilt')
common(project(path: ':fabric-like', configuration: 'namedElements')) { transitive false }
shadowBundle project(path: ':fabric-like', configuration: 'transformProductionQuilt')
}
processResources {
inputs.property 'group', project.group
inputs.property 'version', project.version
filesMatching('quilt.mod.json') {
expand group: project.group, version: project.version
}
}
shadowJar {
configurations = [project.configurations.shadowBundle]
archiveClassifier = 'dev-shadow'
}
remapJar {
input.set shadowJar.archiveFile
}