mirror of
https://github.com/barkeser2002/MapEngine-MediaExtension.git
synced 2026-09-25 01:10:02 +03:00
112 lines
3.1 KiB
Kotlin
112 lines
3.1 KiB
Kotlin
import net.minecrell.pluginyml.paper.PaperPluginDescription
|
|
import java.io.ByteArrayOutputStream
|
|
import java.time.ZoneOffset
|
|
import java.time.ZonedDateTime
|
|
import java.time.format.DateTimeFormatter
|
|
import java.time.temporal.Temporal
|
|
import java.util.stream.Stream
|
|
|
|
plugins {
|
|
id("java-library")
|
|
id("maven-publish")
|
|
id("com.gradleup.shadow") version "8.3.5"
|
|
id("net.minecrell.plugin-yml.paper") version "0.6.0"
|
|
}
|
|
|
|
group = "de.pianoman911"
|
|
version = "1.1.4"
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion.set(JavaLanguageVersion.of(21))
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
maven("https://repo.papermc.io/repository/maven-public/")
|
|
maven("https://repo.thejocraft.net/releases/")
|
|
}
|
|
|
|
dependencies {
|
|
compileOnlyApi("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
|
|
compileOnlyApi("de.pianoman911:mapengine-api:1.8.0")
|
|
api("org.bstats:bstats-bukkit:3.0.2")
|
|
|
|
compileOnlyApi("org.bytedeco:javacpp:1.5.11")
|
|
compileOnlyApi("org.bytedeco:ffmpeg:7.1-1.5.11")
|
|
compileOnlyApi("org.bytedeco:javacv:1.5.11") { isTransitive = false }
|
|
|
|
}
|
|
|
|
val gitHash = git("rev-parse --short HEAD")
|
|
val gitBranch = git("rev-parse --abbrev-ref HEAD")
|
|
val gitTag = git("describe --tags --abbrev=0")
|
|
|
|
fun git(git: String): String {
|
|
val out = ByteArrayOutputStream()
|
|
rootProject.exec {
|
|
commandLine(Stream.concat(Stream.of("git"), git.split(" ").stream()).toList())
|
|
standardOutput = out
|
|
}
|
|
return out.toString().trim()
|
|
}
|
|
|
|
val compileTime: Temporal = ZonedDateTime.now(ZoneOffset.UTC)
|
|
val compileDate: String = DateTimeFormatter.ISO_DATE_TIME.format(compileTime)
|
|
|
|
tasks {
|
|
shadowJar {
|
|
destinationDirectory.set(rootProject.buildDir.resolve("libs"))
|
|
archiveBaseName.set(rootProject.name)
|
|
|
|
relocate("org.bstats", "de.pianoman911.mapengine.media.bstats")
|
|
}
|
|
|
|
assemble {
|
|
dependsOn(shadowJar)
|
|
}
|
|
|
|
jar {
|
|
manifest.attributes(
|
|
"Implementation-Title" to rootProject.name,
|
|
"Implementation-Vendor" to "pianoman911",
|
|
"Implementation-Version" to project.version,
|
|
"License" to "AGPL-3.0",
|
|
|
|
"Build-Date" to compileDate,
|
|
"Build-Timestamp" to compileTime.toString(),
|
|
|
|
"Git-Commit" to gitHash,
|
|
"Git-Branch" to gitBranch,
|
|
"Git-Tag" to gitTag,
|
|
)
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications.create<MavenPublication>("maven${project.name}") {
|
|
artifactId = project.name.lowercase()
|
|
from(components["java"])
|
|
}
|
|
repositories.maven("https://repo.thejocraft.net/releases/") {
|
|
name = "tjcserver"
|
|
authentication { create<BasicAuthentication>("basic") }
|
|
credentials(PasswordCredentials::class)
|
|
}
|
|
}
|
|
|
|
paper {
|
|
main = "$group.mapengine.media.MapEngineMedia"
|
|
loader = "$group.mapengine.media.MediaExtensionLoader"
|
|
apiVersion = "1.21"
|
|
authors = listOf("pianoman911")
|
|
|
|
name = "MapMediaExt"
|
|
description = "$gitHash/$gitBranch ($gitTag), $compileDate"
|
|
|
|
serverDependencies {
|
|
register("MapEngine") {
|
|
load = PaperPluginDescription.RelativeLoadOrder.AFTER
|
|
}
|
|
}
|
|
} |