Plex/build.gradle

129 lines
3.6 KiB
Groovy

plugins {
id 'java'
id 'maven-publish'
id 'net.minecrell.plugin-yml.bukkit' version '0.5.1'
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/')
}
maven {
name = "sonatype-oss-snapshots"
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
}
mavenCentral()
}
dependencies {
library 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'
library 'org.json:json:20211205'
library 'commons-io:commons-io:2.11.0'
library 'dev.morphia.morphia:morphia-core:2.2.3'
library 'redis.clients:jedis:4.1.1'
library 'org.mariadb.jdbc:mariadb-java-client:3.0.3'
library 'org.apache.httpcomponents:httpclient:4.5.13'
compileOnly 'io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT'
implementation 'org.bstats:bstats-base:3.0.0'
implementation 'org.bstats:bstats-bukkit:3.0.0'
implementation("net.kyori:adventure-text-minimessage:4.2.0-SNAPSHOT") {
exclude group: "net.kyori", module: "adventure-api"
exclude group: "org.jetbrains", module: "annotations"
}
}
group = 'dev.plex'
version = '0.6-SNAPSHOT'
description = 'Plex'
shadowJar {
archiveClassifier.set("")
relocate 'org.bstats', 'dev.plex'
}
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"]
apiVersion = "1.18"
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
}
publishing {
publications {
maven(MavenPublication) {
from(components.java)
}
plexReleases(MavenPublication) {
from(components.java)
repositories {
maven {
url("https://nexus.telesphoreo.me/repository/plex-releases/")
credentials {
username = System.getenv("plex_repo_user")
password = System.getenv("plex_repo_pass")
}
}
}
}
plexSnapshots(MavenPublication) {
from(components.java)
repositories {
maven {
url("https://nexus.telesphoreo.me/repository/plex-snapshots/")
credentials {
username = System.getenv("plex_repo_user")
password = System.getenv("plex_repo_pass")
}
}
}
}
}
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
tasks {
build {
dependsOn(shadowJar)
if (System.getenv("plex_repo_user") != null && System.getenv("plex_repo_pass") != null) {
if (getVersion().toString().toLowerCase().endsWith("-snapshot")) {
dependsOn(publishPlexSnapshotsPublicationToMaven2Repository)
} else {
dependsOn(publishPlexReleasesPublicationToMavenRepository)
}
}
}
javadoc {
options.memberLevel = JavadocMemberLevel.PRIVATE
}
}
task publishRelease {
dependsOn(publishPlexReleasesPublicationToMavenRepository)
}
task publishSnapshot {
dependsOn(publishPlexSnapshotsPublicationToMaven2Repository)
}