2022-04-10 06:47:33 +00:00
|
|
|
plugins {
|
|
|
|
id "java"
|
|
|
|
id "maven-publish"
|
2022-04-10 08:32:33 +00:00
|
|
|
id "net.minecrell.plugin-yml.bukkit" version "0.6.1-SNAPSHOT"
|
2022-04-10 06:47:33 +00:00
|
|
|
id "com.github.johnrengelman.shadow" version "7.1.2"
|
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenLocal()
|
|
|
|
maven {
|
|
|
|
url = uri("https://papermc.io/repo/repository/maven-public/")
|
|
|
|
}
|
|
|
|
|
|
|
|
maven {
|
|
|
|
url = uri("https://repository.apache.org/content/repositories/snapshots/")
|
|
|
|
}
|
|
|
|
|
|
|
|
maven {
|
|
|
|
url = uri("https://repo.maven.apache.org/maven2/")
|
|
|
|
}
|
|
|
|
|
2022-04-11 00:27:03 +00:00
|
|
|
maven {
|
|
|
|
url = uri("https://jitpack.io")
|
2022-04-12 02:51:17 +00:00
|
|
|
content {
|
|
|
|
includeGroup("com.github.MilkBowl")
|
|
|
|
}
|
2022-04-11 00:27:03 +00:00
|
|
|
}
|
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
library "org.projectlombok:lombok:1.18.22"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:1.18.22"
|
|
|
|
library "org.json:json:20220320"
|
|
|
|
library "commons-io:commons-io:2.11.0"
|
|
|
|
library "dev.morphia.morphia:morphia-core:2.2.6"
|
|
|
|
library "redis.clients:jedis:4.2.1"
|
|
|
|
library "org.mariadb.jdbc:mariadb-java-client:3.0.4"
|
|
|
|
library "com.zaxxer:HikariCP:5.0.1"
|
|
|
|
library "org.apache.httpcomponents:httpclient:4.5.13"
|
|
|
|
library "org.apache.commons:commons-lang3:3.12.0"
|
|
|
|
library "org.apache.maven.resolver:maven-resolver-api:1.7.3"
|
|
|
|
library "org.apache.maven.resolver:maven-resolver-impl:1.7.3"
|
|
|
|
library "org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3"
|
|
|
|
library "org.apache.maven.resolver:maven-resolver-transport-http:1.7.3"
|
|
|
|
library "org.apache.maven:maven-resolver-provider:3.8.5"
|
|
|
|
library "org.eclipse.jetty:jetty-server:11.0.9"
|
|
|
|
library "org.eclipse.jetty:jetty-servlet:11.0.9"
|
|
|
|
library "org.eclipse.jetty:jetty-proxy:11.0.9"
|
|
|
|
library "com.google.code.gson:gson:2.9.0"
|
|
|
|
compileOnly "io.papermc.paper:paper-api:1.18.2-R0.1-SNAPSHOT"
|
2022-04-13 02:22:17 +00:00
|
|
|
compileOnly("com.github.MilkBowl:VaultAPI:1.7") {
|
2022-04-11 17:56:26 +00:00
|
|
|
exclude group: "org.bukkit", module: "bukkit"
|
|
|
|
}
|
2022-04-10 06:47:33 +00:00
|
|
|
implementation "org.bstats:bstats-base:3.0.0"
|
|
|
|
implementation "org.bstats:bstats-bukkit:3.0.0"
|
|
|
|
}
|
|
|
|
|
2022-02-25 09:54:11 +00:00
|
|
|
group = "dev.plex"
|
2022-04-13 02:46:06 +00:00
|
|
|
version = "1.0.2-SNAPSHOT"
|
2022-04-10 06:47:33 +00:00
|
|
|
description = "Plex"
|
2022-04-09 05:14:36 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
shadowJar {
|
|
|
|
archiveBaseName.set("Plex")
|
2022-04-10 22:27:46 +00:00
|
|
|
archiveClassifier.set("")
|
2022-04-10 06:47:33 +00:00
|
|
|
archiveVersion.set("")
|
|
|
|
relocate "org.bstats", "dev.plex"
|
|
|
|
}
|
2022-01-04 03:53:22 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
tasks.jar {
|
|
|
|
archiveBaseName.set("Plex")
|
2022-04-10 22:27:46 +00:00
|
|
|
archiveClassifier.set("notshaded")
|
2022-04-10 06:47:33 +00:00
|
|
|
archiveVersion.set("")
|
|
|
|
}
|
2022-03-26 22:22:08 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
bukkit {
|
|
|
|
name = "Plex"
|
|
|
|
version = rootProject.version
|
|
|
|
description = "Plex provides a new experience for freedom servers."
|
|
|
|
main = "dev.plex.Plex"
|
|
|
|
website = "https://plex.us.org"
|
|
|
|
authors = ["Telesphoreo", "taahanis", "super"]
|
2022-04-11 00:22:22 +00:00
|
|
|
softDepend = ["Vault"]
|
2022-04-10 06:47:33 +00:00
|
|
|
apiVersion = "1.18"
|
|
|
|
}
|
2022-03-26 22:22:08 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
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())
|
2022-04-10 04:51:27 +00:00
|
|
|
}
|
2022-04-10 06:47:33 +00:00
|
|
|
return stdout.size() > 0 ? stdout.toString().trim() : "unknown"
|
|
|
|
}
|
2022-03-26 22:22:08 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
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())
|
2022-03-26 21:36:29 +00:00
|
|
|
}
|
2022-04-10 06:47:33 +00:00
|
|
|
return stdout.size() ? stdout.toString().trim() + " (local)" : "unknown"
|
|
|
|
}
|
2022-03-26 21:36:29 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
static def getDate() {
|
2022-04-10 23:30:21 +00:00
|
|
|
return new Date().format("MM/dd/yyyy '<light_purple>at<gold>' hh:mm:ss a z")
|
2022-04-10 06:47:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
task buildProperties {
|
|
|
|
ant.propertyfile(file: "$project.rootDir/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())
|
2022-04-10 04:51:27 +00:00
|
|
|
}
|
2022-04-10 06:47:33 +00:00
|
|
|
}
|
2022-01-04 03:53:22 +00:00
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
java {
|
|
|
|
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
|
|
|
|
}
|
|
|
|
|
|
|
|
publishing {
|
|
|
|
publications {
|
|
|
|
maven(MavenPublication) {
|
2022-04-10 23:36:37 +00:00
|
|
|
pom.withXml {
|
2022-04-11 00:22:22 +00:00
|
|
|
def dependenciesNode = asNode().appendNode("dependencies")
|
2022-04-12 21:38:19 +00:00
|
|
|
configurations.getByName("library").getAllDependencies().each { dependency ->
|
2022-04-11 00:22:22 +00:00
|
|
|
dependenciesNode.appendNode("dependency").with {
|
2022-04-10 23:36:37 +00:00
|
|
|
it.appendNode("groupId", dependency.group)
|
|
|
|
it.appendNode("artifactId", dependency.name)
|
|
|
|
it.appendNode("version", dependency.version)
|
|
|
|
it.appendNode("scope", "provided")
|
|
|
|
}
|
|
|
|
}
|
2022-04-11 00:22:22 +00:00
|
|
|
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")
|
|
|
|
}
|
|
|
|
}
|
2022-04-10 23:36:37 +00:00
|
|
|
}
|
2022-04-11 00:22:22 +00:00
|
|
|
artifacts = [shadowJar]
|
2022-04-10 06:47:33 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
repositories {
|
|
|
|
maven {
|
|
|
|
def releasesRepoUrl = uri("https://nexus.telesphoreo.me/repository/plex-releases/")
|
|
|
|
def snapshotsRepoUrl = uri("https://nexus.telesphoreo.me/repository/plex-snapshots/")
|
|
|
|
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
|
|
|
|
credentials {
|
|
|
|
username = System.getenv("plexUser")
|
|
|
|
password = System.getenv("plexPassword")
|
2022-03-31 06:54:25 +00:00
|
|
|
}
|
|
|
|
}
|
2022-02-22 01:03:51 +00:00
|
|
|
}
|
2022-02-22 02:19:41 +00:00
|
|
|
}
|
|
|
|
|
2022-04-10 06:47:33 +00:00
|
|
|
tasks.withType(JavaCompile) {
|
|
|
|
options.encoding = "UTF-8"
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks {
|
|
|
|
build {
|
|
|
|
dependsOn(shadowJar)
|
|
|
|
finalizedBy(buildProperties)
|
|
|
|
}
|
|
|
|
|
|
|
|
javadoc {
|
|
|
|
options.memberLevel = JavadocMemberLevel.PRIVATE
|
|
|
|
}
|
2022-02-22 01:03:51 +00:00
|
|
|
}
|