diff --git a/build.gradle b/build.gradle deleted file mode 100644 index c6a0bd3..0000000 --- a/build.gradle +++ /dev/null @@ -1,119 +0,0 @@ -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: 'java' - apply plugin: 'kotlin' - 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.io/repository/maven-public/' } - maven { url 'https://repo.dmulloy2.net/repository/public/' } - maven { url 'https://repo.extendedclip.com/content/repositories/placeholderapi/' } - } - - jar { - onlyIf { !sourceSets.main.allSource.files.isEmpty() } - } - - shadowJar { - - } - - dependencies { - compileOnly 'com.willfp:eco:6.50.1' - compileOnly 'org.jetbrains:annotations:23.0.0' - compileOnly 'org.jetbrains.kotlin:kotlin-stdlib:1.7.10' - - compileOnly 'me.clip:placeholderapi:2.11.2' - compileOnly 'com.github.ben-manes.caffeine:caffeine:3.1.0' - } - - tasks.withType(JavaCompile) { - options.deprecation = true - options.encoding = 'UTF-8' - } - - processResources { - filesNotMatching(["**/*.png", "**/models/**", "**/textures/**", "**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") + " " + "unshaded" + ".jar" -} - -group = 'com.willfp' -archivesBaseName = project.name -version = findProperty("version") - -compileJava.options.encoding = 'UTF-8' - - -build.dependsOn shadowJar -build.dependsOn publishToMavenLocal - -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 diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..fcf94eb --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,123 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + +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")) + implementation(project(":eco-core:core-plugin")) +} + +allprojects { + apply(plugin = "java") + apply(plugin = "kotlin") + apply(plugin = "maven-publish") + apply(plugin = "com.github.johnrengelman.shadow") + + repositories { + mavenCentral() + mavenLocal() + maven { url = uri("https://jitpack.io") } + maven { url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") } + maven { url = uri("https://repo.codemc.org/repository/nms/") } + maven { url = uri("https://repo.codemc.io/repository/maven-public/") } + maven { url = uri("https://repo.dmulloy2.net/repository/public/") } + maven { url = uri("https://repo.extendedclip.com/content/repositories/placeholderapi/") } + } + + dependencies { + compileOnly("com.willfp:eco:6.50.1") + compileOnly("org.jetbrains:annotations:23.0.0") + compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.7.10") + + compileOnly("me.clip:placeholderapi:2.11.2") + compileOnly("com.github.ben-manes.caffeine:caffeine:3.1.0") + } + + tasks.withType { + options.encoding = "UTF-8" + } + + tasks.withType { + kotlinOptions { + jvmTarget = "17" + } + } + + tasks { + java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + compileJava { + options.encoding = "UTF-8" + dependsOn(clean) + } + + processResources { + filesMatching(listOf("**plugin.yml")) { + expand(mapOf("projectVersion" to project.version)) + } + } + + build { + dependsOn("shadowJar") + } + } +} + +group = "com.willfp" +version = findProperty("version")!! + +tasks.register("buyThePlugins") { + 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.") + } +} + +tasks { + build { + dependsOn("publishToMavenLocal") + finalizedBy("buyThePlugins") + } + + withType { + destinationDirectory.set(file("$rootDir/bin/")) + } + + register("cleanBin") { + doLast { + file("$rootDir/bin").deleteRecursively() + } + } + + clean { + finalizedBy("cleanBin") + } + + named("shadowJar") { + archiveFileName.set("${findProperty("plugin-name")} v${findProperty("version")}.jar") + } + + named("jar") { + archiveFileName.set("${findProperty("plugin-name")} v${findProperty("version")} unshaded.jar") + } +} diff --git a/eco-core/build.gradle b/eco-core/build.gradle deleted file mode 100644 index 2f7415f..0000000 --- a/eco-core/build.gradle +++ /dev/null @@ -1,2 +0,0 @@ -group 'com.willfp' -version rootProject.version diff --git a/eco-core/build.gradle.kts b/eco-core/build.gradle.kts new file mode 100644 index 0000000..5f8f296 --- /dev/null +++ b/eco-core/build.gradle.kts @@ -0,0 +1,2 @@ +group = "com.willfp" +version = rootProject.version diff --git a/eco-core/core-plugin/build.gradle b/eco-core/core-plugin/build.gradle deleted file mode 100644 index 08fcd9e..0000000 --- a/eco-core/core-plugin/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -group 'com.willfp' -version rootProject.version - -dependencies { - compileOnly 'org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT' - compileOnly 'com.github.MilkBowl:VaultAPI:1.7' - - compileOnly fileTree(dir: '../../lib', include: ['*.jar']) -} - -build.dependsOn publishToMavenLocal - -publishing { - publications { - maven(MavenPublication) { - from(components.java) - } - } -} diff --git a/eco-core/core-plugin/build.gradle.kts b/eco-core/core-plugin/build.gradle.kts new file mode 100644 index 0000000..c7ecbea --- /dev/null +++ b/eco-core/core-plugin/build.gradle.kts @@ -0,0 +1,23 @@ +group = "com.willfp" +version = rootProject.version + +dependencies { + compileOnly("org.spigotmc:spigot-api:1.17.1-R0.1-SNAPSHOT") + compileOnly("com.github.MilkBowl:VaultAPI:1.7") + + compileOnly(fileTree("../../lib") { include("*.jar") }) +} + +tasks { + build { + dependsOn("publishToMavenLocal") + } +} + +publishing { + publications { + create("maven") { + from(components["java"]) + } + } +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index feaf73e..0000000 --- a/settings.gradle +++ /dev/null @@ -1,5 +0,0 @@ -rootProject.name = 'EcoBits' - -// Core -include ':eco-core' -include ':eco-core:core-plugin' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..6e37a6f --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,5 @@ +rootProject.name = "EcoBits" + +// Core +include(":eco-core") +include(":eco-core:core-plugin")