MineLittlePony/build.gradle

178 lines
5.5 KiB
Groovy
Raw Normal View History

buildscript {
dependencies {
2024-07-22 00:20:05 +02:00
classpath 'com.github.dexman545:Outlet:1.6.1'
}
}
2019-06-01 21:40:06 +02:00
plugins {
2024-04-30 16:45:36 +02:00
id 'fabric-loom' version '1.6-SNAPSHOT'
2019-06-03 01:32:12 +02:00
id 'maven-publish'
2022-06-15 01:12:30 +02:00
id 'com.modrinth.minotaur' version '2.+'
2024-07-22 00:20:05 +02:00
id 'org.ajoberstar.reckon' version '0.13.1'
2016-01-15 08:49:17 +01:00
}
2024-07-22 00:20:05 +02:00
apply plugin: 'io.github.dexman545.outlet'
2016-01-15 08:49:17 +01:00
2021-06-10 19:32:21 +02:00
java {
toolchain {
2024-04-30 16:45:36 +02:00
languageVersion = JavaLanguageVersion.of(21)
2021-06-10 19:32:21 +02:00
}
2022-06-17 20:53:26 +02:00
withSourcesJar()
2021-06-10 19:32:21 +02:00
}
outlet.allowSnapshotsForProject = false
2023-12-09 23:51:59 +01:00
outlet.mcVersionRange = ">=${project.minecraft_version}"
group = project.group
description = project.displayname
2019-03-24 11:04:36 +01:00
archivesBaseName = project.name
2015-08-02 00:36:33 +02:00
2021-11-24 23:09:34 +01:00
loom {
mixin.defaultRefmapName = 'minelp.mixin.refmap.json'
accessWidenerPath = file('src/main/resources/minelp.aw')
2019-06-02 01:08:36 +02:00
}
reckon {
2023-06-06 21:24:46 +02:00
scopeFromProp()
stageFromProp('beta', 'rc', 'final')
}
2019-06-01 21:40:06 +02:00
repositories {
2021-06-23 23:44:52 +02:00
mavenLocal()
2023-06-02 12:27:21 +02:00
maven { name 'modmenu'; url 'https://maven.terraformersmc.com/releases' }
maven { name 'minelp'; url 'https://repo.minelittlepony-mod.com/maven/snapshot' }
maven { name 'minelp-release'; url 'https://repo.minelittlepony-mod.com/maven/release' }
2019-06-01 21:40:06 +02:00
}
2019-05-27 17:59:15 +02:00
dependencies {
2019-06-03 01:32:12 +02:00
minecraft "com.mojang:minecraft:${project.minecraft_version}"
2020-12-06 19:10:32 +01:00
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modApi "net.fabricmc:fabric-loader:${project.loader_version}"
2020-06-19 17:03:08 +02:00
modApi fabricApi.module("fabric-api-base", project.fabric_version)
2020-08-16 23:48:26 +02:00
modApi fabricApi.module("fabric-lifecycle-events-v1", project.fabric_version)
2020-06-19 17:03:08 +02:00
modApi fabricApi.module("fabric-resource-loader-v0", project.fabric_version)
2022-06-09 21:35:51 +02:00
modApi fabricApi.module("fabric-networking-api-v1", project.fabric_version)
2019-05-27 17:59:15 +02:00
modApi "com.minelittlepony:kirin:${project.kirin_version}"
include "com.minelittlepony:kirin:${project.kirin_version}"
2019-06-01 21:40:06 +02:00
modApi "com.minelittlepony:mson:${project.mson_version}"
include "com.minelittlepony:mson:${project.mson_version}"
2019-11-25 14:06:08 +01:00
modImplementation "com.minelittlepony:hdskins:${project.hd_skins_version}"
2023-07-09 17:15:37 +02:00
modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}"
2019-05-27 17:59:15 +02:00
}
//
// Imports the Background Ponies from the MLP Community Skin Pack
//
task copyBGPones(type: Copy) {
def illegals = /[^a-z0-9_\/.-]/
from "skins/Background Ponies"
into temporaryDir
eachFile {
if (it.name =~ illegals) {
logger.warn("Sanitizing file with illegal characters: ${it.path}")
it.name = it.name.replaceAll(/\s/, '_').replaceAll(illegals, '')
}
}
}
2019-05-27 17:59:15 +02:00
processResources {
2021-06-24 19:28:26 +02:00
inputs.property "version", project.version.toString()
2019-03-24 11:22:25 +01:00
2021-05-15 01:14:42 +02:00
filesMatching("fabric.mod.json") {
2023-09-25 00:43:31 +02:00
expand "version": project.version.toString(),
2023-12-09 23:51:59 +01:00
"minecraftVersion": ">=${project.minecraft_version}",
2023-09-25 00:43:31 +02:00
"loaderVersion": ">=${project.loader_version}",
"fabricVersion": ">=${project.fabric_version}",
"kirinVersion": ">=${project.kirin_version}",
"msonVersion": ">=${project.mson_version}"
2019-06-03 01:32:12 +02:00
}
2019-03-24 11:22:25 +01:00
2019-06-01 21:40:06 +02:00
from 'LICENSE'
exclude "/assets/minelittlepony/textures/entity/pony"
from(copyBGPones) {
into "/assets/minelittlepony/textures/entity/pony"
}
2019-03-24 11:22:25 +01:00
}
2019-05-27 17:59:15 +02:00
tasks.withType(JavaCompile) {
2019-06-03 01:32:12 +02:00
options.encoding = "UTF-8"
2019-03-25 00:29:56 +01:00
}
2022-06-15 01:12:30 +02:00
tasks.modrinth {
onlyIf {
2023-06-06 21:24:46 +02:00
def stage = version.version.stage.value
stage == null || stage.name != 'beta'
}
2022-06-15 01:12:30 +02:00
}
2022-06-15 01:12:30 +02:00
modrinth {
token = System.env.MODRINTH_KEY
projectId = project.modrinth_project_id
2022-06-17 20:53:26 +02:00
//featured = true
versionNumber = version.toString()
2021-12-04 18:10:26 +01:00
versionName = archivesBaseName + '-' + version
changelog = "[Changelog](https://github.com/MineLittlePony/MineLittlePony/releases/tag/${version.toString()})"
2023-09-25 00:43:31 +02:00
loaders = ['fabric', 'quilt']
2022-06-15 01:12:30 +02:00
uploadFile = remapJar
outlet.mcVersions().each{ver ->
2022-06-15 01:12:30 +02:00
gameVersions.add ver
}
2022-06-17 20:53:26 +02:00
dependencies {
2023-12-09 23:51:59 +01:00
required.project 'P7dR8mSH' // Fabric API
required.project '9aNz8Zqn' // Kirin
optional.project 'FzE9gshV' // HD Skins
optional.project 'h9pJxJR9' // Big Pony
2022-06-17 20:53:26 +02:00
}
}
2019-06-03 01:32:12 +02:00
publishing {
publications {
maven(MavenPublication) {
2021-11-24 23:09:34 +01:00
from components.java
2019-06-03 01:32:12 +02:00
pom {
name = "MineLittlePony"
description = "Ponify your Minecraft experience!"
2020-01-30 21:51:10 +01:00
url = "https://minelittlepony-mod.com"
2019-06-03 01:32:12 +02:00
licenses {
license {
name = "MIT Public License"
url = "https://tlo.mit.edu/learn-about-intellectual-property/software-and-open-source-licensing"
}
}
developers {
developer {
id = "killjoy1221"
name = "Matthew Messinger"
email = "mattmess1221@gmail.com"
}
developer {
id = "sollace"
}
}
scm {
connection = 'scm:git:git://github.com/MineLittlePony/MineLittlePony.git'
developerConnection = 'scm:git:ssh://github.com/MineLittlePony/MineLittlePony.git'
url = 'https://github.com/MineLittlePony/MineLittlePony'
}
}
}
}
repositories {
maven {
name = "MineLittlePony"
2023-06-06 21:24:46 +02:00
def stage = version.version.stage.value
url = "s3://repo.minelittlepony-mod.com/maven/${stage != null && stage.name == 'beta' ? 'snapshot' : 'release'}"
2019-06-03 01:32:12 +02:00
credentials(AwsCredentials) {
accessKey = System.env.ACCESS_KEY
secretKey = System.env.SECRET_KEY
}
}
}
}