From bde0f5d0407ea97ad8711b2edea4321cf2a0db46 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 9 Jul 2022 14:53:27 +0200 Subject: [PATCH] Split project --- README.md | 2 +- api/build.gradle.kts | 23 ++++++++ .../java/com/alttd/playershops/api/Shop.java | 1 - .../alttd/playershops/api/ShopHandler.java | 0 .../com/alttd/playershops/api/ShopType.java | 15 +++++ build.gradle.kts | 56 +++++++------------ plugin/build.gradle.kts | 50 +++++++++++++++++ .../com/alttd/playershops/PlayerShops.java | 4 +- .../com/alttd/playershops/config/Config.java | 11 +++- .../playershops/config/ShopTypeConfig.java | 0 .../playershops/handler/ShopHandlerImpl.java | 3 +- .../playershops/listener/EventListener.java | 0 .../listener/InventoryListener.java | 0 .../playershops/listener/PlayerListener.java | 1 - .../playershops/listener/ShopListener.java | 0 .../alttd/playershops/shop/AbstractShop.java | 1 + .../alttd/playershops/shop/BarterShop.java | 1 + .../com/alttd/playershops/shop/BuyShop.java | 1 + .../alttd/playershops/shop/GambleShop.java | 1 + .../com/alttd/playershops/shop/SellShop.java | 1 + .../playershops/shop/ShopTransaction.java | 0 .../shop/ShopTransactionError.java | 0 .../com/alttd/playershops/utils/Logger.java | 0 settings.gradle.kts | 7 ++- .../com/alttd/playershops/shop/ShopType.java | 23 -------- 25 files changed, 132 insertions(+), 69 deletions(-) create mode 100644 api/build.gradle.kts rename {src => api/src}/main/java/com/alttd/playershops/api/Shop.java (94%) rename {src => api/src}/main/java/com/alttd/playershops/api/ShopHandler.java (100%) create mode 100644 api/src/main/java/com/alttd/playershops/api/ShopType.java create mode 100644 plugin/build.gradle.kts rename {src => plugin/src}/main/java/com/alttd/playershops/PlayerShops.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/config/Config.java (75%) rename {src => plugin/src}/main/java/com/alttd/playershops/config/ShopTypeConfig.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java (98%) rename {src => plugin/src}/main/java/com/alttd/playershops/listener/EventListener.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/listener/InventoryListener.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/listener/PlayerListener.java (98%) rename {src => plugin/src}/main/java/com/alttd/playershops/listener/ShopListener.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/AbstractShop.java (98%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/BarterShop.java (88%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/BuyShop.java (87%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/GambleShop.java (91%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/SellShop.java (87%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/ShopTransaction.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/shop/ShopTransactionError.java (100%) rename {src => plugin/src}/main/java/com/alttd/playershops/utils/Logger.java (100%) delete mode 100644 src/main/java/com/alttd/playershops/shop/ShopType.java diff --git a/README.md b/README.md index ae3724b..d3be641 100755 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Downloads can be obtained on GitHub actions page. Clone the repo using `git clone https://github.com/Altitude-Devs/PlayerShops.git`. #### Building -Use the command `./gradlew build --stacktrace` in the project root directory. +Use the command `./gradlew shadowJar --stacktrace` in the project root directory. The compiled jar will be placed in directory `/build/libs/`. ## **Commands** diff --git a/api/build.gradle.kts b/api/build.gradle.kts new file mode 100644 index 0000000..b34fcab --- /dev/null +++ b/api/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + `maven-publish` +} + +dependencies { + compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT") +} + +publishing { + publications { + create("mavenJava") { + from(components["java"]) + } + } + + repositories{ + maven { + name = "maven" + url = uri("https://repo.destro.xyz/snapshots") + credentials(PasswordCredentials::class) + } + } +} \ No newline at end of file diff --git a/src/main/java/com/alttd/playershops/api/Shop.java b/api/src/main/java/com/alttd/playershops/api/Shop.java similarity index 94% rename from src/main/java/com/alttd/playershops/api/Shop.java rename to api/src/main/java/com/alttd/playershops/api/Shop.java index cb914c4..eaffe72 100644 --- a/src/main/java/com/alttd/playershops/api/Shop.java +++ b/api/src/main/java/com/alttd/playershops/api/Shop.java @@ -1,6 +1,5 @@ package com.alttd.playershops.api; -import com.alttd.playershops.shop.ShopType; import org.bukkit.Location; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/alttd/playershops/api/ShopHandler.java b/api/src/main/java/com/alttd/playershops/api/ShopHandler.java similarity index 100% rename from src/main/java/com/alttd/playershops/api/ShopHandler.java rename to api/src/main/java/com/alttd/playershops/api/ShopHandler.java diff --git a/api/src/main/java/com/alttd/playershops/api/ShopType.java b/api/src/main/java/com/alttd/playershops/api/ShopType.java new file mode 100644 index 0000000..ed164bd --- /dev/null +++ b/api/src/main/java/com/alttd/playershops/api/ShopType.java @@ -0,0 +1,15 @@ +package com.alttd.playershops.api; + +public enum ShopType { + + SELL, + BUY, + GAMBLE, + BARTER; + + @Override + public String toString() { + return name().toLowerCase(); + } + +} diff --git a/build.gradle.kts b/build.gradle.kts index 7fa735c..e0e81dc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,53 +1,35 @@ import java.io.ByteArrayOutputStream -import java.io.FileOutputStream -import java.net.URL plugins { id("java") - id("net.minecrell.plugin-yml.bukkit") version "0.5.1" } -group = "com.alttd.playershops" -version = "1.0-SNAPSHOT" - -apply() - -java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) - } +allprojects { + group = "com.alttd.playershops" + version = "1.0-SNAPSHOT" + description = "Player Shop plugin for Altitude." } -tasks { - withType { - options.encoding = Charsets.UTF_8.name() +subprojects { + apply() + + java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } } - withType { - options.encoding = Charsets.UTF_8.name() + tasks { + withType { + options.encoding = Charsets.UTF_8.name() + } + + withType { + options.encoding = Charsets.UTF_8.name() + } } } -dependencies { - compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT") - compileOnly("com.github.milkbowl:VaultAPI:1.7") { - exclude("org.bukkit","bukkit") - } - compileOnly("com.github.TechFortress:GriefPrevention:16.17.1") - - compileOnly("org.projectlombok:lombok:1.18.24") - annotationProcessor("org.projectlombok:lombok:1.18.24") -} - -bukkit { - name = rootProject.name - main = "$group.${rootProject.name}" - version = "${rootProject.version}-${gitCommit()}" - apiVersion = "1.18" - authors = listOf("destro174") - depend = listOf("Vault") -} - fun gitCommit(): String { val os = ByteArrayOutputStream() project.exec { diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts new file mode 100644 index 0000000..01ab6eb --- /dev/null +++ b/plugin/build.gradle.kts @@ -0,0 +1,50 @@ +import java.io.ByteArrayOutputStream + +plugins { + id("java") + id("net.minecrell.plugin-yml.bukkit") version "0.5.1" + id("com.github.johnrengelman.shadow") version "7.1.0" +} + +dependencies { + implementation(project(":api")) + + compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT") + compileOnly("com.github.milkbowl:VaultAPI:1.7") { + exclude("org.bukkit","bukkit") + } + compileOnly("com.github.TechFortress:GriefPrevention:16.17.1") + + compileOnly("org.projectlombok:lombok:1.18.24") + annotationProcessor("org.projectlombok:lombok:1.18.24") +} + +bukkit { + name = rootProject.name + main = "$group.${rootProject.name}" + version = "${rootProject.version}-${gitCommit()}" + apiVersion = "1.18" + authors = listOf("destro174") + depend = listOf("Vault") +} + +fun gitCommit(): String { + val os = ByteArrayOutputStream() + project.exec { + commandLine = "git rev-parse --short HEAD".split(" ") + standardOutput = os + } + return String(os.toByteArray()).trim() +} + +tasks { + + shadowJar { + archiveFileName.set("${rootProject.name}-${project.version}.jar") + } + + build { + dependsOn(shadowJar) + } + +} \ No newline at end of file diff --git a/src/main/java/com/alttd/playershops/PlayerShops.java b/plugin/src/main/java/com/alttd/playershops/PlayerShops.java similarity index 100% rename from src/main/java/com/alttd/playershops/PlayerShops.java rename to plugin/src/main/java/com/alttd/playershops/PlayerShops.java index 2fdac2b..7868667 100644 --- a/src/main/java/com/alttd/playershops/PlayerShops.java +++ b/plugin/src/main/java/com/alttd/playershops/PlayerShops.java @@ -1,10 +1,10 @@ package com.alttd.playershops; import com.alttd.playershops.api.ShopHandler; -import com.alttd.playershops.config.Config; -import com.alttd.playershops.handler.ShopHandlerImpl; import com.alttd.playershops.listener.PlayerListener; import com.alttd.playershops.listener.ShopListener; +import com.alttd.playershops.config.Config; +import com.alttd.playershops.handler.ShopHandlerImpl; import lombok.Getter; import net.milkbowl.vault.economy.Economy; import org.bukkit.Bukkit; diff --git a/src/main/java/com/alttd/playershops/config/Config.java b/plugin/src/main/java/com/alttd/playershops/config/Config.java similarity index 75% rename from src/main/java/com/alttd/playershops/config/Config.java rename to plugin/src/main/java/com/alttd/playershops/config/Config.java index ed622cc..9d8a705 100644 --- a/src/main/java/com/alttd/playershops/config/Config.java +++ b/plugin/src/main/java/com/alttd/playershops/config/Config.java @@ -1,18 +1,22 @@ package com.alttd.playershops.config; import com.alttd.galaxy.configuration.AbstractConfiguration; +import com.alttd.playershops.api.Shop; +import com.alttd.playershops.api.ShopType; import java.io.File; +import java.util.HashMap; @SuppressWarnings("unused") public class Config extends AbstractConfiguration { private Config() { - super(new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs" + File.separator + "playershops"), "config"); + super(new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs" + File.separator + "com/alttd/playershops"), "config"); } static Config config; static int version; + static HashMap shopTypeConfigs; public static void reload() { config = new Config(); @@ -21,6 +25,11 @@ public class Config extends AbstractConfiguration { config.set("config-version", 1); config.readConfig(Config.class, null); + + shopTypeConfigs = new HashMap<>(); + for (ShopType shopType : ShopType.values()) { + shopTypeConfigs.put(shopType, new ShopTypeConfig(shopType.toString())); + } } public static int shopLimit = 100; diff --git a/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java b/plugin/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java similarity index 100% rename from src/main/java/com/alttd/playershops/config/ShopTypeConfig.java rename to plugin/src/main/java/com/alttd/playershops/config/ShopTypeConfig.java diff --git a/src/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java b/plugin/src/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java similarity index 98% rename from src/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java rename to plugin/src/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java index 0af76a7..e5ba73f 100644 --- a/src/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java +++ b/plugin/src/main/java/com/alttd/playershops/handler/ShopHandlerImpl.java @@ -1,10 +1,9 @@ package com.alttd.playershops.handler; import com.alttd.playershops.PlayerShops; +import com.alttd.playershops.config.Config; import com.alttd.playershops.api.Shop; import com.alttd.playershops.api.ShopHandler; -import com.alttd.playershops.config.Config; -import com.alttd.playershops.shop.AbstractShop; import it.unimi.dsi.fastutil.objects.Object2IntMap; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import lombok.Getter; diff --git a/src/main/java/com/alttd/playershops/listener/EventListener.java b/plugin/src/main/java/com/alttd/playershops/listener/EventListener.java similarity index 100% rename from src/main/java/com/alttd/playershops/listener/EventListener.java rename to plugin/src/main/java/com/alttd/playershops/listener/EventListener.java diff --git a/src/main/java/com/alttd/playershops/listener/InventoryListener.java b/plugin/src/main/java/com/alttd/playershops/listener/InventoryListener.java similarity index 100% rename from src/main/java/com/alttd/playershops/listener/InventoryListener.java rename to plugin/src/main/java/com/alttd/playershops/listener/InventoryListener.java diff --git a/src/main/java/com/alttd/playershops/listener/PlayerListener.java b/plugin/src/main/java/com/alttd/playershops/listener/PlayerListener.java similarity index 98% rename from src/main/java/com/alttd/playershops/listener/PlayerListener.java rename to plugin/src/main/java/com/alttd/playershops/listener/PlayerListener.java index d123db3..40147c9 100644 --- a/src/main/java/com/alttd/playershops/listener/PlayerListener.java +++ b/plugin/src/main/java/com/alttd/playershops/listener/PlayerListener.java @@ -4,7 +4,6 @@ import com.alttd.playershops.PlayerShops; import com.alttd.playershops.api.Shop; import com.alttd.playershops.api.ShopHandler; import com.alttd.playershops.config.Config; -import com.alttd.playershops.shop.AbstractShop; import org.bukkit.block.Block; import org.bukkit.block.Sign; import org.bukkit.entity.Player; diff --git a/src/main/java/com/alttd/playershops/listener/ShopListener.java b/plugin/src/main/java/com/alttd/playershops/listener/ShopListener.java similarity index 100% rename from src/main/java/com/alttd/playershops/listener/ShopListener.java rename to plugin/src/main/java/com/alttd/playershops/listener/ShopListener.java diff --git a/src/main/java/com/alttd/playershops/shop/AbstractShop.java b/plugin/src/main/java/com/alttd/playershops/shop/AbstractShop.java similarity index 98% rename from src/main/java/com/alttd/playershops/shop/AbstractShop.java rename to plugin/src/main/java/com/alttd/playershops/shop/AbstractShop.java index 8d77909..0f1593e 100644 --- a/src/main/java/com/alttd/playershops/shop/AbstractShop.java +++ b/plugin/src/main/java/com/alttd/playershops/shop/AbstractShop.java @@ -1,6 +1,7 @@ package com.alttd.playershops.shop; import com.alttd.playershops.api.Shop; +import com.alttd.playershops.api.ShopType; import lombok.Getter; import lombok.Setter; import org.bukkit.Bukkit; diff --git a/src/main/java/com/alttd/playershops/shop/BarterShop.java b/plugin/src/main/java/com/alttd/playershops/shop/BarterShop.java similarity index 88% rename from src/main/java/com/alttd/playershops/shop/BarterShop.java rename to plugin/src/main/java/com/alttd/playershops/shop/BarterShop.java index 64f2964..a836fc4 100644 --- a/src/main/java/com/alttd/playershops/shop/BarterShop.java +++ b/plugin/src/main/java/com/alttd/playershops/shop/BarterShop.java @@ -1,5 +1,6 @@ package com.alttd.playershops.shop; +import com.alttd.playershops.api.ShopType; import org.bukkit.Location; import java.util.UUID; diff --git a/src/main/java/com/alttd/playershops/shop/BuyShop.java b/plugin/src/main/java/com/alttd/playershops/shop/BuyShop.java similarity index 87% rename from src/main/java/com/alttd/playershops/shop/BuyShop.java rename to plugin/src/main/java/com/alttd/playershops/shop/BuyShop.java index 03da9dd..6a90623 100644 --- a/src/main/java/com/alttd/playershops/shop/BuyShop.java +++ b/plugin/src/main/java/com/alttd/playershops/shop/BuyShop.java @@ -1,5 +1,6 @@ package com.alttd.playershops.shop; +import com.alttd.playershops.api.ShopType; import org.bukkit.Location; import java.util.UUID; diff --git a/src/main/java/com/alttd/playershops/shop/GambleShop.java b/plugin/src/main/java/com/alttd/playershops/shop/GambleShop.java similarity index 91% rename from src/main/java/com/alttd/playershops/shop/GambleShop.java rename to plugin/src/main/java/com/alttd/playershops/shop/GambleShop.java index cbe3698..a5da58e 100644 --- a/src/main/java/com/alttd/playershops/shop/GambleShop.java +++ b/plugin/src/main/java/com/alttd/playershops/shop/GambleShop.java @@ -1,5 +1,6 @@ package com.alttd.playershops.shop; +import com.alttd.playershops.api.ShopType; import org.bukkit.Location; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/alttd/playershops/shop/SellShop.java b/plugin/src/main/java/com/alttd/playershops/shop/SellShop.java similarity index 87% rename from src/main/java/com/alttd/playershops/shop/SellShop.java rename to plugin/src/main/java/com/alttd/playershops/shop/SellShop.java index a39cc16..991ad8d 100644 --- a/src/main/java/com/alttd/playershops/shop/SellShop.java +++ b/plugin/src/main/java/com/alttd/playershops/shop/SellShop.java @@ -1,5 +1,6 @@ package com.alttd.playershops.shop; +import com.alttd.playershops.api.ShopType; import org.bukkit.Location; import java.util.UUID; diff --git a/src/main/java/com/alttd/playershops/shop/ShopTransaction.java b/plugin/src/main/java/com/alttd/playershops/shop/ShopTransaction.java similarity index 100% rename from src/main/java/com/alttd/playershops/shop/ShopTransaction.java rename to plugin/src/main/java/com/alttd/playershops/shop/ShopTransaction.java diff --git a/src/main/java/com/alttd/playershops/shop/ShopTransactionError.java b/plugin/src/main/java/com/alttd/playershops/shop/ShopTransactionError.java similarity index 100% rename from src/main/java/com/alttd/playershops/shop/ShopTransactionError.java rename to plugin/src/main/java/com/alttd/playershops/shop/ShopTransactionError.java diff --git a/src/main/java/com/alttd/playershops/utils/Logger.java b/plugin/src/main/java/com/alttd/playershops/utils/Logger.java similarity index 100% rename from src/main/java/com/alttd/playershops/utils/Logger.java rename to plugin/src/main/java/com/alttd/playershops/utils/Logger.java diff --git a/settings.gradle.kts b/settings.gradle.kts index 48cd8f9..e48384c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,8 @@ rootProject.name = "PlayerShops" +include(":api") +include(":plugin") + dependencyResolutionManagement { repositories { mavenCentral() @@ -17,4 +20,6 @@ pluginManagement { repositories { gradlePluginPortal() } -} \ No newline at end of file +} +include("api") +include("plugin") diff --git a/src/main/java/com/alttd/playershops/shop/ShopType.java b/src/main/java/com/alttd/playershops/shop/ShopType.java deleted file mode 100644 index 8d495f3..0000000 --- a/src/main/java/com/alttd/playershops/shop/ShopType.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.alttd.playershops.shop; - -import com.alttd.playershops.config.ShopTypeConfig; - -public enum ShopType { - - SELL, - BUY, - GAMBLE, - BARTER; - - private final ShopTypeConfig shopTypeConfig; - - ShopType() { - this.shopTypeConfig = new ShopTypeConfig(toString()); - } - - @Override - public String toString() { - return name().toLowerCase(); - } - -}