Skip to content

Commit a6165ec

Browse files
authored
[FEAT] Refactor and improve multipaltform (#122)
* [FEAT] Refactor - Improve multiplatform * [FEAT] Refactor - fix shadow task
1 parent bc96fff commit a6165ec

75 files changed

Lines changed: 137 additions & 203 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ plugins {
77

88
// klibs - core
99
alias(libs.plugins.klibs.gradle.detekt) apply false
10-
alias(libs.plugins.klibs.gradle.detekt.compose) apply false
1110
alias(libs.plugins.klibs.gradle.dokka.root) apply false
1211
alias(libs.plugins.klibs.gradle.dokka.module) apply false
1312
alias(libs.plugins.klibs.gradle.java.version) apply false

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ makeevrserg.java.ktarget=21
66
# Project
77
makeevrserg.project.name=AstraMarket
88
makeevrserg.project.group=ru.astrainteractive.astramarket
9-
makeevrserg.project.version.string=1.22.1
9+
makeevrserg.project.version.string=1.23.0
1010
makeevrserg.project.description=Market plugin for EmpireSMP
1111
makeevrserg.project.developers=makeevrserg|Makeev Roman|makeevrserg@gmail.com
1212
makeevrserg.project.url=https://empireprojekt.ru

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ gson = "2.13.2"
1414
guava = "33.5.0-jre"
1515
jda = "6.3.1"
1616
jda-webhook = "0.8.4"
17-
klibs-gradleplugin = "1.13.2"
17+
klibs-gradleplugin = "1.15.0"
1818
klibs-kdi = "1.4.8"
1919
klibs-kstorage = "4.5.0"
2020
klibs-mikro = "1.22.0"
@@ -26,7 +26,7 @@ kotlin-serialization = "1.10.0"
2626
kotlin-serialization-kaml = "0.104.0"
2727
kotlin-version = "2.2.0"
2828
ktor = "3.4.0"
29-
minecraft-astralibs = "3.33.0"
29+
minecraft-astralibs = "3.35.0"
3030
minecraft-bstats = "3.2.1"
3131
minecraft-bungee = "1.21-R0.5-SNAPSHOT"
3232
minecraft-essentialsx = "2.21.2"

gradlew

100644100755
File mode changed.

instances/bukkit/build.gradle.kts

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,42 +10,36 @@ plugins {
1010
}
1111

1212
dependencies {
13-
// Kotlin
14-
implementation(libs.kotlin.coroutines.core)
15-
implementation(libs.kotlin.serialization.json)
13+
compileOnly(libs.minecraft.paper.api)
14+
compileOnly(libs.minecraft.papi)
15+
compileOnly(libs.minecraft.vaultapi)
1616

17-
// AstraLibs
18-
implementation(libs.minecraft.astralibs.core)
19-
implementation(libs.klibs.mikro.extensions)
2017
implementation(libs.klibs.mikro.core)
21-
implementation(libs.minecraft.astralibs.menu.bukkit)
22-
implementation(libs.minecraft.astralibs.core.bukkit)
18+
implementation(libs.klibs.mikro.extensions)
19+
implementation(libs.kotlin.coroutines.core)
20+
implementation(libs.kotlin.serialization.json)
2321
implementation(libs.minecraft.astralibs.command)
2422
implementation(libs.minecraft.astralibs.command.bukkit)
25-
// Test
26-
testImplementation(libs.tests.kotlin.test)
27-
// Spigot dependencies
28-
compileOnly(libs.minecraft.paper.api)
23+
implementation(libs.minecraft.astralibs.core)
24+
implementation(libs.minecraft.astralibs.core.bukkit)
25+
implementation(libs.minecraft.astralibs.menu.bukkit)
2926
implementation(libs.minecraft.bstats)
30-
compileOnly(libs.minecraft.papi)
31-
compileOnly(libs.minecraft.vaultapi)
3227
implementation(libs.minecraft.bstats)
33-
// Local
28+
3429
implementation(projects.modules.apiMarket)
30+
implementation(projects.modules.commandBukkit)
3531
implementation(projects.modules.core)
3632
implementation(projects.modules.coreBukkit)
33+
implementation(projects.modules.gui.api)
34+
implementation(projects.modules.gui.bukkit)
3735
implementation(projects.modules.service)
38-
implementation(projects.modules.gui.players.api)
39-
implementation(projects.modules.gui.slots.api)
40-
implementation(projects.modules.gui.slots.bukkit)
41-
implementation(projects.modules.gui.commonBukkit)
42-
implementation(projects.modules.commandBukkit)
36+
37+
testImplementation(libs.tests.kotlin.test)
4338
}
4439

4540
minecraftProcessResource {
4641
bukkit()
4742
}
48-
4943
val shadowJar = tasks.named<ShadowJar>("shadowJar")
5044
shadowJar.configure {
5145

@@ -105,6 +99,11 @@ shadowJar.configure {
10599
exclude("META-INF/rewrite/**")
106100
exclude("META-INF/services/kotlin.reflect.**")
107101
exclude("META-INF/versions/**")
102+
exclude(dependency("mysql:mysql-connector-java"))
103+
exclude(dependency("com.mysql:mysql-connector-j"))
104+
exclude(dependency("org.xerial:sqlite-jdbc"))
105+
exclude(dependency("com.mojang:brigadier"))
106+
exclude(dependency("net.kyori:.*"))
108107
}
109108
relocate("org.bstats", projectInfo.group)
110109
listOf(
@@ -118,7 +117,10 @@ shadowJar.configure {
118117
"org.intellij",
119118
"org.jetbrains.annotations",
120119
"ru.astrainteractive.klibs",
121-
"ru.astrainteractive.astralibs"
120+
"ru.astrainteractive.astralibs",
121+
"io.github.reactivecircus",
122+
"co.touchlab.stately",
123+
"google.protobuf",
122124
).forEach { pattern -> relocate(pattern, "${projectInfo.group}.$pattern") }
123125
listOf(
124126
"kotlinx",

instances/bukkit/src/main/kotlin/ru/astrainteractive/astramarket/di/RootModule.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import ru.astrainteractive.astralibs.lifecycle.Lifecycle
1010
import ru.astrainteractive.astralibs.lifecycle.LifecyclePlugin
1111
import ru.astrainteractive.astramarket.command.di.CommandModule
1212
import ru.astrainteractive.astramarket.core.di.BukkitCoreModule
13-
import ru.astrainteractive.astramarket.gui.router.di.RouterModule
13+
import ru.astrainteractive.astramarket.gui.router.di.BukkitRouterModule
1414
import ru.astrainteractive.astramarket.market.data.di.BukkitMarketDataModule
1515
import ru.astrainteractive.astramarket.market.di.MarketViewModule
1616
import ru.astrainteractive.astramarket.market.domain.di.BukkitMarketDomainModule
@@ -28,7 +28,7 @@ internal class RootModule(
2828
val apiMarketModule: ApiMarketModule = ApiMarketModule.Default(
2929
dispatchers = coreModule.dispatchers,
3030
yamlStringFormat = coreModule.yamlStringFormat,
31-
dataFolder = coreModule.plugin.dataFolder,
31+
dataFolder = coreModule.lifecyclePlugin.dataFolder,
3232
ioScope = coreModule.ioScope,
3333
default = { DatabaseConfiguration.H2(plugin.dataFolder.resolve("database").absolutePath) }
3434
)
@@ -38,7 +38,7 @@ internal class RootModule(
3838
apiMarketModule = apiMarketModule,
3939
marketDataModule = BukkitMarketDataModule(
4040
itemStackEncoder = coreModule.itemStackEncoder,
41-
stringSerializer = coreModule.kyoriComponentSerializer.cachedValue
41+
stringSerializer = coreModule.kyoriKrate.cachedValue
4242
),
4343
platformMarketDomainModule = BukkitMarketDomainModule(
4444
itemStackEncoder = coreModule.itemStackEncoder,
@@ -50,7 +50,7 @@ internal class RootModule(
5050
apiMarketModule = apiMarketModule
5151
)
5252

53-
val routerModule: RouterModule = RouterModule.Default(
53+
val bukkitRouterModule: BukkitRouterModule = BukkitRouterModule(
5454
coreModule = coreModule,
5555
marketViewModule = marketViewModule,
5656
bukkitCoreModule = coreModule,
@@ -60,7 +60,7 @@ internal class RootModule(
6060
val commandModule: CommandModule = CommandModule.Default(
6161
coreModule = coreModule,
6262
bukkitCoreModule = coreModule,
63-
routerModule = routerModule,
63+
bukkitRouterModule = bukkitRouterModule,
6464
marketViewModule = marketViewModule,
6565
multiplatformCommand = MultiplatformCommand(PaperMultiplatformCommands()),
6666
commandRegistrarContext = PaperCommandRegistrarContext(
@@ -92,7 +92,7 @@ internal class RootModule(
9292
},
9393
onDisable = {
9494
Bukkit.getOnlinePlayers().forEach(Player::closeInventory)
95-
HandlerList.unregisterAll(coreModule.plugin)
95+
HandlerList.unregisterAll(coreModule.lifecyclePlugin)
9696
lifecycles.forEach(Lifecycle::onDisable)
9797
}
9898

modules/api-market/build.gradle.kts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,18 @@ plugins {
33
kotlin("plugin.serialization")
44
}
55
dependencies {
6-
// Kotlin
7-
implementation(libs.kotlin.coroutines.core)
8-
implementation(libs.kotlin.serialization.json)
9-
implementation(libs.kotlin.serialization.kaml)
10-
116
implementation(libs.exposed.core)
127
implementation(libs.exposed.dao)
138
implementation(libs.exposed.jdbc)
14-
15-
// AstraLibs
16-
implementation(libs.minecraft.astralibs.core)
17-
implementation(libs.klibs.mikro.extensions)
189
implementation(libs.klibs.mikro.core)
19-
// Test
10+
implementation(libs.klibs.mikro.extensions)
11+
implementation(libs.kotlin.coroutines.core)
12+
implementation(libs.kotlin.serialization.json)
13+
implementation(libs.kotlin.serialization.kaml)
14+
implementation(libs.minecraft.astralibs.core)
2015

21-
testImplementation(libs.tests.kotlin.test)
22-
testImplementation("com.h2database:h2:2.4.240")
23-
// Local
2416
implementation(projects.modules.core)
17+
18+
testImplementation(libs.driver.h2)
19+
testImplementation(libs.tests.kotlin.test)
2520
}

modules/api-market/src/main/kotlin/ru/astrainteractive/astramarket/db/market/entity/AuctionTable.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ internal object AuctionTable : IntIdTable("auctions") {
66
val minecraftUuid = text("minecraft_uuid")
77
val minecraftUsername = text("minecraft_username").default("")
88
val time = long("time")
9-
val item = binary("item", 6132)
9+
val item = binary(name = "item", length = 6132)
1010
val price = float("price")
1111
val expired = bool("expired")
1212
}

modules/command-bukkit/build.gradle.kts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,18 @@ plugins {
44
}
55

66
dependencies {
7-
// Kotlin
8-
implementation(libs.kotlin.coroutines.core)
7+
compileOnly(libs.minecraft.paper.api)
8+
compileOnly(libs.minecraft.brigadier)
9+
compileOnly(libs.minecraft.kyori.api)
910

10-
// AstraLibs
11-
implementation(libs.minecraft.astralibs.core)
12-
implementation(libs.minecraft.astralibs.core.bukkit)
1311
implementation(libs.klibs.mikro.core)
12+
implementation(libs.kotlin.coroutines.core)
1413
implementation(libs.minecraft.astralibs.command)
15-
implementation(libs.minecraft.astralibs.command.bukkit)
16-
// Spigot dependencies
17-
compileOnly(libs.minecraft.paper.api)
18-
// Local
14+
implementation(libs.minecraft.astralibs.core)
15+
implementation(libs.minecraft.astralibs.core.bukkit)
16+
1917
implementation(projects.modules.apiMarket)
2018
implementation(projects.modules.core)
2119
implementation(projects.modules.coreBukkit)
22-
implementation(projects.modules.gui.slots.api)
23-
implementation(projects.modules.gui.commonBukkit)
20+
implementation(projects.modules.gui.api)
2421
}

modules/command-bukkit/src/main/kotlin/ru/astrainteractive/astramarket/command/auction/AuctionCommandFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import ru.astrainteractive.klibs.mikro.core.util.cast
1414
internal class AuctionCommandFactory(
1515
private val executor: AuctionCommandExecutor,
1616
private val errorHandler: BrigadierErrorHandler,
17-
private val multiplatformCommand: MultiplatformCommand<*>,
17+
private val multiplatformCommand: MultiplatformCommand,
1818
kyoriKrate: CachedKrate<KyoriComponentSerializer>
1919
) : KyoriComponentSerializer by kyoriKrate.unwrap() {
2020

0 commit comments

Comments
 (0)