buildscript { repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" } } plugins { id 'java-library' id 'com.github.johnrengelman.shadow' version '7.0.0' id 'maven-publish' id 'java' } dependencies { implementation project(":eco-core").getSubprojects() } allprojects { apply plugin: 'kotlin' 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://papermc.io/repo/repository/maven-public/' } maven { url 'https://repo.essentialsx.net/releases/' } maven { url 'https://repo.codemc.io/repository/nms/' } } jar { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } shadowJar { relocate('com.willfp.libreforge', 'com.willfp.ecoenchants.libreforge') relocate('org.joml', 'com.willfp.ecoenchants.libreforge.joml') } dependencies { compileOnly 'com.willfp:eco:6.38.0' implementation 'com.willfp:libreforge:3.93.1' implementation 'org.joml:joml:1.10.4' compileOnly 'org.jetbrains:annotations:23.0.0' compileOnly 'com.github.ben-manes.caffeine:caffeine:3.0.6' compileOnly 'org.jetbrains.kotlin:kotlin-stdlib:1.7.10' } tasks.withType(JavaCompile) { options.deprecation = true options.encoding = 'UTF-8' } processResources { filesNotMatching(["**/*.png", "**/models/**", "**/textures/**", "**enchants.yml", "**lang.yml"]) { expand projectVersion: project.version } } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions { jvmTarget = "17" freeCompilerArgs += ["-Xjvm-default=all"] } } java.sourceCompatibility = JavaVersion.VERSION_17 java.targetCompatibility = JavaVersion.VERSION_17 compileJava.options.encoding = 'UTF-8' compileJava.dependsOn clean build.dependsOn shadowJar } 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") build.dependsOn shadowJar 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