mirror of
https://github.com/PuzzleMC/Puzzle.git
synced 2025-12-13 02:25:09 +01:00
120 lines
4.4 KiB
Groovy
Executable File
120 lines
4.4 KiB
Groovy
Executable File
import groovy.json.JsonSlurper
|
|
import groovy.json.JsonOutput
|
|
|
|
plugins {
|
|
id "architectury-plugin" version "3.4-SNAPSHOT"
|
|
id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false
|
|
id "me.shedaniel.unified-publishing" version "0.1.+" apply false
|
|
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
|
|
}
|
|
|
|
architectury {
|
|
minecraft = rootProject.minecraft_version
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: "dev.architectury.loom"
|
|
|
|
repositories {
|
|
maven {
|
|
url = "https://api.modrinth.com/maven"
|
|
}
|
|
maven { url "https://maven.terraformersmc.com/releases" }
|
|
maven {
|
|
name = 'AperLambda'
|
|
url = 'https://aperlambda.github.io/maven'
|
|
}
|
|
mavenCentral()
|
|
maven {
|
|
name 'Gegy'
|
|
url 'https://maven.gegy.dev'
|
|
}
|
|
|
|
maven {
|
|
url "https://www.cursemaven.com"
|
|
content {
|
|
includeGroup "curse.maven"
|
|
}
|
|
}
|
|
maven {
|
|
name = 'JitPack'
|
|
url 'https://jitpack.io'
|
|
}
|
|
maven {
|
|
url "https://maven.shedaniel.me/"
|
|
}
|
|
maven { url "https://maven.quiltmc.org/repository/release/" }
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
|
|
// The following line declares the yarn mappings you may select this one as well.
|
|
mappings loom.layered {
|
|
it.mappings("net.fabricmc:yarn:$rootProject.yarn_mappings:v2")
|
|
it.mappings("dev.architectury:yarn-mappings-patch-neoforge:$rootProject.yarn_mappings_patch_neoforge_version")
|
|
}
|
|
modCompileOnlyApi ("maven.modrinth:cull-leaves:${project.cull_leaves_version}")
|
|
|
|
modCompileOnlyApi ("maven.modrinth:iris:${project.iris_version}")
|
|
modCompileOnly ("maven.modrinth:cit-resewn:${project.cit_resewn_version}")
|
|
modCompileOnlyApi ("maven.modrinth:continuity:${project.continuity_version}")
|
|
modCompileOnlyApi ("maven.modrinth:animatica:${project.animatica_version}")
|
|
modCompileOnlyApi ("maven.modrinth:colormatic:${project.colormatic_version}")
|
|
modCompileOnlyApi ("maven.modrinth:borderless-mining:${project.borderless_mining_version}")
|
|
modCompileOnlyApi ("maven.modrinth:dynamic-fps:${project.dynamic_fps_version}")
|
|
modCompileOnlyApi ("com.moandjiezana.toml:toml4j:${project.toml4j_version}")
|
|
modCompileOnlyApi ("maven.modrinth:entitytexturefeatures:${project.etf_version}")
|
|
modCompileOnlyApi ("maven.modrinth:entity-model-features:${project.emf_version}")
|
|
modCompileOnlyApi ("maven.modrinth:completeconfig:${project.complete_config_version}")
|
|
//modImplementation ("maven.modrinth:exordium:${project.exordium_version}")
|
|
|
|
|
|
modCompileOnlyApi ("maven.modrinth:lambdynamiclights:${project.ldl_version}")
|
|
modCompileOnly("dev.lambdaurora.lambdynamiclights:lambdynamiclights-api:${project.ldl_version}")
|
|
modCompileOnlyApi ("maven.modrinth:lambdabettergrass:${project.lbg_version}")
|
|
modCompileOnlyApi "dev.lambdaurora:spruceui:${project.spruceui_version}"
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
apply plugin: "java"
|
|
apply plugin: "architectury-plugin"
|
|
apply plugin: "maven-publish"
|
|
|
|
archivesBaseName = rootProject.archives_base_name
|
|
version = rootProject.mod_version
|
|
group = rootProject.maven_group
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = "UTF-8"
|
|
options.release = 21
|
|
}
|
|
ext {
|
|
releaseChangelog = {
|
|
def changes = new StringBuilder()
|
|
changes << "## Puzzle v$project.version for $project.minecraft_version\n[View the changelog](https://www.github.com/PuzzleMC/Puzzle/commits/)"
|
|
def proc = "git log --max-count=1 --pretty=format:%s".execute()
|
|
proc.in.eachLine { line ->
|
|
def processedLine = line.toString()
|
|
if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) {
|
|
changes << "\n- ${processedLine.capitalize()}"
|
|
}
|
|
}
|
|
proc.waitFor()
|
|
return changes.toString()
|
|
}
|
|
}
|
|
processResources {
|
|
// Minify json resources
|
|
doLast {
|
|
fileTree(dir: outputs.files.asPath, include: "**/*.json").each {
|
|
File file -> file.text = JsonOutput.toJson(new JsonSlurper().parse(file))
|
|
}
|
|
}
|
|
}
|
|
|
|
java {
|
|
withSourcesJar()
|
|
}
|
|
}
|