121 lines
3.6 KiB
Groovy
121 lines
3.6 KiB
Groovy
plugins {
|
|
id "com.github.johnrengelman.shadow" version "7.1.2"
|
|
}
|
|
|
|
apply plugin: 'com.matthewprenger.cursegradle'
|
|
apply plugin: 'com.modrinth.minotaur'
|
|
|
|
architectury {
|
|
platformSetupLoomIde()
|
|
fabric()
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = project(":common").loom.accessWidenerPath
|
|
}
|
|
|
|
configurations {
|
|
common
|
|
shadowCommon // Don't use shadow from the shadow plugin since it *excludes* files.
|
|
compileClasspath.extendsFrom common
|
|
runtimeClasspath.extendsFrom common
|
|
developmentFabric.extendsFrom common
|
|
|
|
modIncludeImplementation
|
|
|
|
include.extendsFrom modIncludeImplementation
|
|
modImplementation.extendsFrom modIncludeImplementation
|
|
}
|
|
|
|
dependencies {
|
|
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
|
|
modIncludeImplementation(fabricApi.module("fabric-api-base", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
|
modIncludeImplementation(fabricApi.module("fabric-lifecycle-events-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
|
modIncludeImplementation(fabricApi.module("fabric-screen-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
|
// Remove the next line if you don't want to depend on the API
|
|
// modApi "me.shedaniel:architectury-fabric:${rootProject.architectury_version}"
|
|
|
|
common(project(path: ":common", configuration: "namedElements")) { transitive false }
|
|
shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false }
|
|
}
|
|
|
|
processResources {
|
|
inputs.property "version", project.version
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
exclude "architectury.common.json"
|
|
|
|
configurations = [project.configurations.shadowCommon]
|
|
classifier "dev-shadow"
|
|
}
|
|
|
|
remapJar {
|
|
injectAccessWidener = true
|
|
input.set shadowJar.archiveFile
|
|
dependsOn shadowJar
|
|
classifier null
|
|
}
|
|
|
|
task copyJarToBin(type: Copy) {
|
|
from remapJar // shortcut for createJar.outputs.files
|
|
into rootProject.file("bin")
|
|
}
|
|
|
|
tasks.build.dependsOn(copyJarToBin)
|
|
|
|
jar {
|
|
classifier "dev"
|
|
}
|
|
|
|
components.java {
|
|
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
|
|
skip()
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
mavenFabric(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.
|
|
}
|
|
}
|
|
|
|
curseforge {
|
|
if (System.getenv("CURSEFORGE_TOKEN") != null) {
|
|
apiKey = System.getenv("CURSEFORGE_TOKEN")
|
|
project {
|
|
id = "790626"
|
|
changelog = file('../CHANGELOG.md')
|
|
changelogType = "markdown"
|
|
releaseType = "release"
|
|
addGameVersion "Fabric"
|
|
addGameVersion minecraft_version
|
|
mainArtifact remapJar
|
|
}
|
|
}
|
|
}
|
|
|
|
modrinth {
|
|
token = System.getenv("MODRINTH_TOKEN")
|
|
projectId = "modernfix" // This can be the project ID or the slug. Either will work!
|
|
versionType = "release" // This is the default -- can also be `beta` or `alpha`
|
|
uploadFile = remapJar
|
|
gameVersions = [minecraft_version]
|
|
loaders = ["fabric"]
|
|
changelog.set(provider { file("../CHANGELOG.md").getText('UTF-8') })
|
|
}
|
|
|
|
tasks.curseforge.dependsOn(rootProject.generateChangelog)
|
|
tasks.modrinth.dependsOn(rootProject.generateChangelog) |