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/") } 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" library "org.apache.commons:commons-lang3:3.12.0" compileOnly "io.papermc.paper:paper-api:1.18.2-R0.1-SNAPSHOT" implementation "org.bstats:bstats-base:3.0.0" implementation "org.bstats:bstats-bukkit:3.0.0" } group = "dev.plex" version = "0.10-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") } } } } } } 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(publishPlexReleasesPublicationToMavenRepository) } } } javadoc { options.memberLevel = JavadocMemberLevel.PRIVATE } } task publishRelease { dependsOn(publishPlexReleasesPublicationToMavenRepository) }