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) }