129 lines
4.4 KiB
Groovy
129 lines
4.4 KiB
Groovy
plugins {
|
|
id 'base'
|
|
id 'dev.architectury.loom' version '1.10-SNAPSHOT' apply false
|
|
id 'architectury-plugin' version '3.4-SNAPSHOT'
|
|
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
|
|
}
|
|
|
|
architectury {
|
|
minecraft = project.minecraft_version
|
|
injectInjectables = false
|
|
}
|
|
|
|
allprojects {
|
|
group = rootProject.maven_group
|
|
version = rootProject.mod_version
|
|
base.archivesBaseName = project.archives_base_name
|
|
tasks.withType(JavaCompile).configureEach {
|
|
it.options.encoding = "UTF-8"
|
|
it.options.release = 17
|
|
def resourceTargets=["pack.mcmeta","fabric.mod.json",'META-INF/mods.toml',"*.mixins.json"];
|
|
def replaceProperties = [
|
|
mod_name: mod_name,
|
|
mod_version: mod_version,
|
|
mod_source:mod_source,
|
|
mod_credits:mod_credits,
|
|
mod_authors: mod_authors,
|
|
mod_description: mod_description,
|
|
mod_licence:mod_licence,
|
|
group:maven_group]
|
|
processResources {
|
|
filesMatching(resourceTargets) {
|
|
expand replaceProperties
|
|
}
|
|
inputs.properties replaceProperties
|
|
}
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: 'dev.architectury.loom'
|
|
apply plugin: 'architectury-plugin'
|
|
apply plugin: 'maven-publish'
|
|
|
|
base {
|
|
// Set up a suffixed format for the mod jar names, e.g. `example-fabric`.
|
|
archivesName = "${mod_id}-${minecraft_version}"
|
|
}
|
|
|
|
repositories {
|
|
// Add repositories to retrieve artifacts from in here.
|
|
// You should only use this when depending on other mods because
|
|
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
|
|
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
|
|
// for more information about repositories.
|
|
mavenCentral()
|
|
maven {
|
|
url "https://maven.architectury.dev/"
|
|
}
|
|
maven { url = 'https://maven.parchmentmc.org' }
|
|
mavenLocal()
|
|
}
|
|
loom {
|
|
silentMojangMappingsLicense()
|
|
mixin {
|
|
defaultRefmapName = "jsonem-common.refmap.json"
|
|
}
|
|
}
|
|
dependencies {
|
|
minecraft "net.minecraft:minecraft:$rootProject.minecraft_version"
|
|
mappings loom.layered() {
|
|
officialMojangMappings()
|
|
parchment ("org.parchmentmc.data:parchment-1.20.1:2023.09.03@zip")
|
|
}
|
|
}
|
|
|
|
java {
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
// if it is present.
|
|
// If you remove this line, sources will not be generated.
|
|
withSourcesJar()
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
// Configure Maven publishing.
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
from components.java
|
|
artifactId = "${mod_id}-${project.name}-${minecraft_version}"
|
|
|
|
pom {
|
|
name = rootProject.mod_id
|
|
description = "The json definition for entity"
|
|
url = rootProject.mod_source
|
|
licenses {
|
|
license {
|
|
name = rootProject.mod_licence
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id = rootProject.mod_id
|
|
name = rootProject.mod_authors
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// 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.
|
|
// Notice: This block does NOT have the same function as the block in the top level.
|
|
// The repositories here will be used for publishing your artifact, not for
|
|
// retrieving dependencies.
|
|
maven {
|
|
name = 'LTDNexus'
|
|
url = 'https://nexus.bot.leisuretimedock.top/repository/maven-releases/'
|
|
credentials {
|
|
username = System.getenv('LTDNexusUsername') ?: ''
|
|
password = System.getenv('LTDNexusPassword') ?: ''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|