plugins { id 'java-library' id 'com.github.johnrengelman.shadow' version '5.2.0' id 'maven-publish' id 'java' } dependencies { implementation project(":eco-core").getSubprojects() implementation 'com.willfp:eco:1.1.3' } allprojects { apply plugin: 'java' apply plugin: 'maven-publish' apply plugin: 'com.github.johnrengelman.shadow' repositories { mavenCentral() jcenter() 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://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/' } } jar { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } compileJava { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } dependencies { compileOnly 'com.willfp:eco:1.1.3' compileOnly 'org.jetbrains:annotations:19.0.0' compileOnly 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.16' testCompileOnly 'org.projectlombok:lombok:1.18.16' testAnnotationProcessor 'org.projectlombok:lombok:1.18.16' } tasks.withType(JavaCompile) { options.deprecation = true options.encoding = 'UTF-8' } processResources { filesNotMatching(["**/*.png", "**/models/**", "**/textures/**"]) { expand projectVersion: project.version } } shadowJar { relocate('com.willfp.eco.', 'com.willfp.ecoenchants.eco.') // Dot is to prevent plugin being shaded into itself } 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 { relocate('org.apache.maven', 'com.willfp.ecoenchants.eco.shaded.maven') relocate('org.bstats', 'com.willfp.ecoenchants.eco.shaded.bstats') archiveFileName = findProperty("plugin-name") + " v" + findProperty("version") + ".jar" } jar { archiveFileName = findProperty("plugin-name") + " v" + findProperty("version") + " " + "unshaded" + ".jar" } group = 'com.willfp' archivesBaseName = project.name version = findProperty("version") java.sourceCompatibility = JavaVersion.VERSION_1_8 compileJava.options.encoding = 'UTF-8' publishing { publications { maven(MavenPublication) { from(components.java) } } }