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:2.7.4' 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' } group = 'dev.plex' version = '0.4-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://telesphoreo.me" 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 { if (System.getenv("plex_repo_user") != null && System.getenv("plex_repo_pass") != null) { 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 { if (System.getenv("plex_repo_user") != null && System.getenv("plex_repo_pass") != null) { 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 (getVersion().toString().toLowerCase().endsWith("-snapshot")) { dependsOn(publishPlexSnapshotsPublicationToMaven2Repository) } } javadoc { options.memberLevel = JavadocMemberLevel.PRIVATE } } task publishRelease { dependsOn(publishPlexReleasesPublicationToMavenRepository) } task publishSnapshot { dependsOn(publishPlexSnapshotsPublicationToMaven2Repository) }