mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-22 17:17:37 +00:00
b0a8b463cb
Add cache for table strings generated Add legacy support for Tags and login messages by converting legacy color codes to minimessage tags
154 lines
4.8 KiB
Groovy
154 lines
4.8 KiB
Groovy
plugins {
|
|
id "net.minecrell.plugin-yml.paper" version "0.6.0"
|
|
}
|
|
|
|
dependencies {
|
|
library "org.projectlombok:lombok:1.18.28"
|
|
annotationProcessor "org.projectlombok:lombok:1.18.28"
|
|
library "org.json:json:20230618"
|
|
library "commons-io:commons-io:2.13.0"
|
|
library "redis.clients:jedis:5.0.0-beta2"
|
|
library "org.mariadb.jdbc:mariadb-java-client:3.1.4"
|
|
library "com.zaxxer:HikariCP:5.0.1"
|
|
library "org.apache.maven.resolver:maven-resolver-transport-http:1.9.15"
|
|
library "org.jetbrains:annotations:24.0.1"
|
|
compileOnly "dev.folia:folia-api:1.20.1-R0.1-SNAPSHOT"
|
|
compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") {
|
|
exclude group: "org.bukkit", module: "bukkit"
|
|
}
|
|
implementation "org.bstats:bstats-base:3.0.2"
|
|
implementation "org.bstats:bstats-bukkit:3.0.2"
|
|
}
|
|
|
|
group = rootProject.group
|
|
version = rootProject.version
|
|
description = "Plex-Server"
|
|
|
|
shadowJar {
|
|
archiveBaseName.set("Plex")
|
|
archiveClassifier.set("")
|
|
relocate "org.bstats", "dev.plex"
|
|
}
|
|
|
|
paper {
|
|
name = "Plex"
|
|
version = project.version
|
|
description = "Plex provides a new experience for freedom servers."
|
|
main = "dev.plex.Plex"
|
|
loader = "dev.plex.PlexLibraryManager"
|
|
website = "https://plex.us.org"
|
|
authors = ["Telesphoreo", "taahanis", "supernt"]
|
|
apiVersion = "1.19"
|
|
foliaSupported = true
|
|
generateLibrariesJson = true
|
|
// Load BukkitTelnet and LibsDisguises before Plex so the modules register properly
|
|
serverDependencies {
|
|
'BukkitTelnet' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'LibsDisguises' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'Vault' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'Essentials' {
|
|
required = false
|
|
load = 'BEFORE'
|
|
}
|
|
'SlimeWorldManager' {
|
|
required = false
|
|
load = 'AFTER'
|
|
}
|
|
}
|
|
}
|
|
|
|
String getGitHash() {
|
|
def stdout = new ByteArrayOutputStream()
|
|
try {
|
|
exec {
|
|
commandLine "git", "rev-parse", "--short", "HEAD"
|
|
standardOutput = stdout
|
|
ignoreExitValue = true
|
|
}
|
|
} catch (GradleException e) {
|
|
logger.error("Couldn't determine Git head because Git is not installed. " + e.getMessage())
|
|
}
|
|
return stdout.size() > 0 ? stdout.toString().trim() : "unknown"
|
|
}
|
|
|
|
String getBuildNumber() {
|
|
def stdout = new ByteArrayOutputStream()
|
|
try {
|
|
exec {
|
|
commandLine "git", "rev-list", "HEAD", "--count"
|
|
standardOutput = stdout
|
|
ignoreExitValue = true
|
|
}
|
|
} catch (GradleException e) {
|
|
logger.error("Couldn't determine build number because Git is not installed. " + e.getMessage())
|
|
}
|
|
return stdout.size() ? stdout.toString().trim() + " (local)" : "unknown"
|
|
}
|
|
|
|
static def getDate() {
|
|
return new Date().format("MM/dd/yyyy '<light_purple>at<gold>' hh:mm:ss a z")
|
|
}
|
|
|
|
task buildProperties {
|
|
ant.propertyfile(file: "$project.projectDir/src/main/resources/build.properties") {
|
|
entry(key: "buildAuthor", default: System.getenv("JENKINS_URL") != null ? "jenkins" : "unknown")
|
|
entry(key: "buildNumber", value: System.getenv("JENKINS_URL") != null ? System.getenv("BUILD_NUMBER") + " (Jenkins)" : getBuildNumber())
|
|
entry(key: "buildDate", value: getDate())
|
|
entry(key: "buildHead", value: getGitHash())
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
build {
|
|
dependsOn(shadowJar)
|
|
finalizedBy(buildProperties)
|
|
}
|
|
|
|
jar {
|
|
enabled = false
|
|
}
|
|
|
|
shadowJar {
|
|
finalizedBy(rootProject.tasks.copyJars)
|
|
}
|
|
|
|
javadoc {
|
|
options.memberLevel = JavadocMemberLevel.PRIVATE
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven(MavenPublication) {
|
|
pom.withXml {
|
|
def dependenciesNode = asNode().appendNode("dependencies")
|
|
configurations.getByName("library").getAllDependencies().each { dependency ->
|
|
dependenciesNode.appendNode("dependency").with {
|
|
it.appendNode("groupId", dependency.group)
|
|
it.appendNode("artifactId", dependency.name)
|
|
it.appendNode("version", dependency.version)
|
|
it.appendNode("scope", "provided")
|
|
}
|
|
}
|
|
configurations.getByName("implementation").getAllDependencies().each { dependency ->
|
|
dependenciesNode.appendNode("dependency").with {
|
|
it.appendNode("groupId", dependency.group)
|
|
it.appendNode("artifactId", dependency.name)
|
|
it.appendNode("version", dependency.version)
|
|
it.appendNode("scope", "runtime")
|
|
}
|
|
}
|
|
}
|
|
artifacts = [shadowJar]
|
|
}
|
|
}
|
|
} |