plugins { id 'java-library' id 'com.github.johnrengelman.shadow' version '7.0.0' id 'maven-publish' id 'java' id 'checkstyle' } dependencies { implementation project(":eco-core").getSubprojects() } allprojects { apply plugin: 'java' apply plugin: 'maven-publish' apply plugin: 'com.github.johnrengelman.shadow' repositories { mavenCentral() mavenLocal() maven { url 'https://jitpack.io' } maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } maven { url 'https://repo.codemc.org/repository/nms/' } maven { url 'https://repo.codemc.org/repository/maven-public' } maven { url "https://oss.sonatype.org/content/repositories/snapshots" } maven { url 'https://oss.sonatype.org/content/groups/public/' } maven { url 'https://maven.enginehub.org/repo/' } maven { url 'https://repo.essentialsx.net/releases/' } maven { url 'https://ci.ender.zone/plugin/repository/project/' } maven { url 'https://ci.ender.zone/plugin/repository/everything/' } maven { url 'https://repo.md-5.net/content/repositories/snapshots/' } maven { url 'https://repo.dmulloy2.net/nexus/repository/public/' } maven { url 'https://papermc.io/repo/repository/maven-public/' } maven { url 'https://repo.maven.apache.org/maven2/' } maven { url 'https://repo.dustplanet.de/artifactory/ext-release-local/' } maven { url 'https://libraries.minecraft.net/' } maven { url 'https://repo.spongepowered.org/maven/' } maven { url 'https://org.kitteh.pastegg' } maven { url 'https://repo.mikeprimm.com/' } maven { url 'https://maven.sk89q.com/repo/' } maven { url 'https://github.com/factions-site/repo/raw/public/' } maven { url 'https://mvn.lumine.io/repository/maven-public/' } } jar { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } shadowJar { relocate('com.willfp.libreforge', 'com.willfp.ecoenchants.libreforge') relocate('org.joml', 'com.willfp.ecoenchants.libreforge.joml') } compileJava { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } dependencies { compileOnly 'com.willfp:eco:6.35.1' compileOnly 'org.jetbrains:annotations:22.0.0' compileOnly 'org.projectlombok:lombok:1.18.22' annotationProcessor 'org.projectlombok:lombok:1.18.22' testCompileOnly 'org.projectlombok:lombok:1.18.22' testAnnotationProcessor 'org.projectlombok:lombok:1.18.22' } tasks.withType(JavaCompile) { options.deprecation = true options.encoding = 'UTF-8' } processResources { filesNotMatching(["**/*.png", "**/models/**", "**/textures/**"]) { expand projectVersion: project.version } } java.sourceCompatibility = JavaVersion.VERSION_17 java.targetCompatibility = JavaVersion.VERSION_17 compileJava.options.encoding = 'UTF-8' compileJava.dependsOn clean build.dependsOn shadowJar build.dependsOn check } tasks.withType(Jar) { destinationDirectory = file("$rootDir/bin/") } clean.doLast { file("${rootDir}/bin").deleteDir() } shadowJar { archiveFileName = findProperty("plugin-name") + " v" + findProperty("version") + ".jar" } jar { archiveFileName = findProperty("plugin-name") + " v" + findProperty("version") + ".jar" } group = 'com.willfp' archivesBaseName = project.name version = findProperty("version") compileJava.options.encoding = 'UTF-8' publishing { publications { maven(MavenPublication) { from(components.java) } } } task buyThePlugins { dependsOn subprojects.build doLast { println 'If you like the plugin, please consider buying it on Spigot or Polymart!' println 'Spigot: https://www.spigotmc.org/resources/authors/auxilor.507394/' println 'Polymart: https://polymart.org/user/auxilor.1107/' println 'Buying gives you access to support and the plugin auto-updater, and it allows me to keep developing plugins.' } } build.finalizedBy buyThePlugins