Toolbox/build.gradle

140 lines
4.2 KiB
Groovy
Raw Permalink Normal View History

import fr.altarik.CreateTag
import fr.altarik.ReportDiscord
plugins {
2024-02-04 17:44:39 +01:00
id 'fabric-loom' version '1.5-SNAPSHOT' apply false
}
Properties local = new Properties()
2023-07-20 19:17:19 +02:00
try {
local.load(new FileInputStream(rootProject.file("local.properties")))
} catch (IOException ignored) {}
group = project.maven_group
version = project.maven_version
String webhookId = getEnv("DISCORD_PUB_ID", local.getProperty("discord_pub_id"))
String webhookToken = getEnv("DISCORD_PUB_TOKEN", local.getProperty("discord_pub_token"))
String repoUrl = "https://repo.altarik.fr/#/" + (project.version.endsWith('SNAPSHOT') ? 'snapshots/' : 'releases/') + project.group.replace(".", "/") + "/" + project.rootProject.name + "/" + project.version
2024-01-06 21:44:15 +01:00
var reportConfig = new ReportDiscord.ReportData("https://discord.com/api/", webhookId, webhookToken, project.rootProject.name, "Update " + project.version + " has been published", repoUrl)
String giteaToken = getEnv("GITEA_TOKEN", local.getProperty("gitea_token"))
2023-08-29 22:50:56 +02:00
var releaseConfig = new CreateTag.CreateReleaseData("https://git.altarik.fr", project.git_owner, project.git_repo, "v" + project.version as String, giteaToken)
allprojects {
apply plugin: 'maven-publish'
2023-03-19 19:38:08 +01:00
apply plugin: 'fabric-loom'
group = project.maven_group
version = project.maven_version
repositories {
maven {
name 'altarik-snapshots'
url 'https://repo.altarik.fr/snapshots/'
}
maven {
name 'altarik-releases'
url 'https://repo.altarik.fr/releases/'
}
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
}
mavenCentral()
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
maven {
name 'altarik'
url 'https://repo.altarik.fr/'.concat(project.version.endsWith('SNAPSHOT') ? 'snapshots/' : 'releases/')
credentials {
2023-07-20 19:17:19 +02:00
username = getEnv("REPO_USERNAME", local.getProperty("repo_username"))
password = getEnv("REPO_PASSWORD", local.getProperty("repo_password"))
}
}
2022-09-19 23:52:14 +02:00
}
}
2023-03-19 19:38:08 +01:00
processResources {
inputs.property "version", project.version
2024-01-06 21:42:25 +01:00
inputs.property "minecraftVersion", project.minecraft_version
inputs.property "loaderVersion", project.loader_version
2023-03-19 19:38:08 +01:00
filesMatching("fabric.mod.json") {
2024-01-06 21:42:25 +01:00
expand inputs.properties
2023-03-19 19:38:08 +01:00
}
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
2024-01-06 21:42:25 +01:00
it.options.release = 17
2023-03-19 19:38:08 +01:00
}
dependencies {
testImplementation "org.junit.jupiter:junit-jupiter-api:${project.junit_version}"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${project.junit_version}"
2023-03-19 19:38:08 +01:00
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
}
java {
withSourcesJar()
withJavadocJar()
2024-01-06 21:42:25 +01:00
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
test {
useJUnitPlatform()
}
}
2023-03-19 19:38:08 +01:00
dependencies {
2024-01-06 21:42:25 +01:00
implementation project(path: ":Core", configuration: "namedElements")
implementation project(path: ":Database", configuration: "namedElements")
implementation project(path: ":Pagination", configuration: "namedElements")
implementation project(path: ":Tasks", configuration: "namedElements")
include subprojects.collect { project -> project }
2023-03-19 19:38:08 +01:00
}
2023-07-20 19:17:19 +02:00
static def getEnv(String envName, String defaultValue) {
2023-07-20 19:17:58 +02:00
String r = System.getenv(envName)
2023-07-20 19:17:19 +02:00
if(r != null) {
2023-07-20 19:17:58 +02:00
return r
2023-07-20 19:17:19 +02:00
} else {
2023-07-20 19:17:58 +02:00
return defaultValue
2023-07-20 19:17:19 +02:00
}
}
tasks.register("reportToDiscord", ReportDiscord) {
config.set(reportConfig)
}
tasks.register("createTag", CreateTag) {
config.set(releaseConfig)
}
2023-03-19 19:38:08 +01:00
/*jar {
dependsOn subprojects.jar
subprojects.each { project ->
from(project.jar) {
into("META-INF/jars/")
}
2022-09-19 23:52:14 +02:00
}
2023-03-19 19:38:08 +01:00
}*/