Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update environment #51

Merged
merged 6 commits into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
java-version: 17
- name: Run Check
uses: eskatos/gradle-command-action@v2
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
run:
working-directory: website
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v3
Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
## [Unreleased]

### Dependency updates

| Dependency | Old version | New version |
|-----------------------------|-------------|-------------|
| **Java** | `11` | `17` |
| **Spigot** | `1.6.5` | `1.8` |
| **CommandAPI** | `8.5.1` | `9.2.0` |
| Kotlin | `1.7.10` | `1.9.20` |
| kotlinx-serialization-hocon | `1.4.0` | `1.6.1` |
| HikariCP | `5.0.1` | `5.1.0` |

### Housekeeping

- Update Gradle to 8.4

## [v0.1.3] (2022-08-27)

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# EC Inventory
*\* formerly RPGInventory 3.0*

[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/EndlessCodeGroup/ECInventory/CI?style=flat-square)](https://github.com/EndlessCodeGroup/ECInventory/actions)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/EndlessCodeGroup/ECInventory/main.yml?branch=develop&style=flat-square)](https://github.com/EndlessCodeGroup/ECInventory/actions)

**Docs:** [![en](https://img.shields.io/badge/en-100%25-blue?style=flat-square)](https://endlesscodegroup.github.io/ECInventory/docs/intro)
[![ru translation](https://img.shields.io/badge/dynamic/json?color=blue&label=ru&style=flat-square&query=%24.progress.2.data.translationProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-12805871-493199.json)](https://endlesscodegroup.github.io/ECInventory/ru/docs/intro)
Expand Down
6 changes: 1 addition & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
// Apply shared configuration to subprojects
plugins {
id("com.github.ben-manes.versions") version "0.29.0"
}

subprojects {
apply(plugin = "kotlin-convention")
id("com.github.ben-manes.versions") version "0.50.0"
}
4 changes: 2 additions & 2 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ plugins {
}

dependencies {
implementation(kotlin("gradle-plugin", version = "1.7.10"))
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.0.0")
implementation(kotlin("gradle-plugin", version = libs.versions.kotlin.get()))
implementation(libs.spotless)
}

repositories {
Expand Down
2 changes: 0 additions & 2 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
enableFeaturePreview("VERSION_CATALOGS")

dependencyResolutionManagement {
versionCatalogs {
create("libs") {
Expand Down
42 changes: 20 additions & 22 deletions buildSrc/src/main/kotlin/kotlin-convention.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion

plugins {
kotlin("jvm")
Expand All @@ -7,25 +7,27 @@ plugins {

description = rootProject.description

java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
kotlin {
jvmToolchain(17)

compilerOptions {
apiVersion = KotlinVersion.KOTLIN_1_9
languageVersion = KotlinVersion.KOTLIN_1_9
optIn.add("kotlin.RequiresOptIn")
}
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = "11"
apiVersion = "1.7"
languageVersion = "1.7"
freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn"
// TODO: Remove after it will be fixed in BukkitGradle
// https://github.com/EndlessCodeGroup/BukkitGradle/issues/60
afterEvaluate {
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}

tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}

spotless {
Expand All @@ -39,19 +41,15 @@ spotless {
}

dependencies {
compileOnly(kotlin("stdlib-jdk8"))
testImplementation(kotlin("stdlib-jdk8"))
compileOnly(kotlin("stdlib"))
testImplementation(kotlin("stdlib"))
testImplementation(kotlin("test-junit5"))
testImplementation(platform("org.junit:junit-bom:5.9.0"))
testImplementation(platform("org.junit:junit-bom:5.10.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
testImplementation("io.mockk:mockk:1.12.7")
testImplementation("io.mockk:mockk:1.13.8")

val kotestVersion = "5.4.2"
val kotestVersion = "5.8.0"
testImplementation("io.kotest:kotest-runner-junit5:$kotestVersion")
testImplementation("io.kotest:kotest-framework-datatest:$kotestVersion")
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
}

repositories {
mavenCentral()
}
22 changes: 11 additions & 11 deletions core/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import ru.endlesscode.bukkitgradle.dependencies.codemc
import ru.endlesscode.bukkitgradle.dependencies.papermc
import ru.endlesscode.bukkitgradle.dependencies.placeholderApi
import ru.endlesscode.bukkitgradle.dependencies.spigotApi
import ru.endlesscode.bukkitgradle.server.extension.CoreType

plugins {
`kotlin-convention`
Expand All @@ -14,14 +14,15 @@ bukkit {
apiVersion = libs.versions.bukkit.get()

meta {
apiVersion.set("1.16")
name.set("ECInventory")
main.set("ru.endlesscode.inventory.ECInventoryPlugin")
authors.set(listOf("osipxd", "Dereku", "EndlessCode Group"))
apiVersion = "1.18"
name = "ECInventory"
main = "ru.endlesscode.inventory.ECInventoryPlugin"
authors = listOf("osipxd", "Dereku", "EndlessCode Group")
}

server {
setCore("paper")
coreType = CoreType.SPIGOT
version = "1.18.2"
eula = true
}
}
Expand All @@ -32,16 +33,15 @@ kotlin {

dependencies {
compileOnly(spigotApi)
compileOnly(libs.serialization.core)
compileOnly(libs.serialization.hocon)
compileOnly(libs.mimic)
compileOnly(libs.commandapi)
compileOnly(libs.commandapi.kotlin)
compileOnly(libs.placeholderapi)
compileOnly(libs.mysql)
compileOnly(libs.hikaricp)

testImplementation(spigotApi)
testImplementation(libs.serialization.core)
testImplementation(libs.serialization.hocon)
testImplementation(libs.mimic)
}
Expand All @@ -54,8 +54,8 @@ repositories {
}
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
freeCompilerArgs += "-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi"
kotlin {
compilerOptions {
optIn.add("kotlinx.serialization.ExperimentalSerializationApi")
}
}
12 changes: 8 additions & 4 deletions core/src/main/kotlin/internal/Commands.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* This file is part of ECInventory
* <https://github.com/EndlessCodeGroup/ECInventory>.
* Copyright (c) 2021-2022 EndlessCode Group and contributors
* Copyright (c) 2021-2023 EndlessCode Group and contributors
*
* ECInventory is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
Expand All @@ -24,6 +24,7 @@ import dev.jorel.commandapi.arguments.MultiLiteralArgument
import dev.jorel.commandapi.arguments.PlayerArgument
import dev.jorel.commandapi.executors.CommandExecutor
import dev.jorel.commandapi.executors.PlayerCommandExecutor
import dev.jorel.commandapi.kotlindsl.getValue
import org.bukkit.Bukkit
import org.bukkit.entity.Player
import ru.endlesscode.inventory.ECInventoryPlugin
Expand All @@ -49,7 +50,8 @@ private fun subcommandOpen(): CommandAPICommand =
.withPermission("ecinventory.open")
.withArguments(inventoryArgument())
.executesPlayer(PlayerCommandExecutor { sender, args ->
openInventory(sender, type = args.first() as String)
val type: String by args
openInventory(sender, type)
})

private fun subcommandOpenOthers(): CommandAPICommand =
Expand All @@ -60,7 +62,9 @@ private fun subcommandOpenOthers(): CommandAPICommand =
PlayerArgument("target").withPermission("ecinventory.open.others"),
)
.executesPlayer(PlayerCommandExecutor { sender, args ->
openInventory(sender, type = args.first() as String, target = args[1] as Player)
val type: String by args
val target: Player by args
openInventory(sender, type, target)
})

private fun subcommandReload(plugin: ECInventoryPlugin): CommandAPICommand =
Expand All @@ -80,7 +84,7 @@ private fun subcommandReload(plugin: ECInventoryPlugin): CommandAPICommand =
plugin.reload(sender)
})

private fun inventoryArgument() = MultiLiteralArgument(*DI.data.inventories.keys.toTypedArray())
private fun inventoryArgument() = MultiLiteralArgument("type", *DI.data.inventories.keys.toTypedArray())

private fun openInventory(sender: Player, type: String, target: Player = sender) {
val inventory = DI.data.inventoriesRepository.getInventory(target, type)
Expand Down
7 changes: 3 additions & 4 deletions core/src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ softdepend:
- PlaceholderAPI
- ProRPGItems # We want to use its ItemsRegistry.
libraries:
- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10
- org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.0
- org.jetbrains.kotlinx:kotlinx-serialization-hocon:1.4.0
- com.zaxxer:HikariCP:5.0.1
- org.jetbrains.kotlin:kotlin-stdlib:1.9.20
- org.jetbrains.kotlinx:kotlinx-serialization-hocon:1.6.1
- com.zaxxer:HikariCP:5.1.0
permissions:
ecinventory.open:
default: true
Expand Down
18 changes: 10 additions & 8 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
[versions]
kotlin = "1.7.10"
kotlin = "1.9.20"
bukkit = "1.19.2"
commandapi = "9.2.0"

[libraries]
mimic = "ru.endlesscode.mimic:mimic-bukkit-api:0.8.0"
# TODO: Remove after the issue will be fixed https://github.com/Kotlin/kotlinx.serialization/issues/2019
serialization-core = "org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.0"
serialization-hocon = "org.jetbrains.kotlinx:kotlinx-serialization-hocon:1.4.0"
commandapi = "dev.jorel:commandapi-core:8.5.1"
mysql = "mysql:mysql-connector-java:8.0.30"
hikaricp = "com.zaxxer:HikariCP:5.0.1"
placeholderapi = "me.clip:placeholderapi:2.11.2"
serialization-hocon = "org.jetbrains.kotlinx:kotlinx-serialization-hocon:1.6.1"
mysql = "mysql:mysql-connector-java:8.0.33"
hikaricp = "com.zaxxer:HikariCP:5.1.0"
commandapi = { module = "dev.jorel:commandapi-bukkit-core", version.ref = "commandapi" }
commandapi-kotlin = { module = "dev.jorel:commandapi-bukkit-kotlin", version.ref = "commandapi" }
placeholderapi = "me.clip:placeholderapi:2.11.5"

spotless="com.diffplug.spotless:spotless-plugin-gradle:6.22.0"

[plugins]
bukkitgradle = "ru.endlesscode.bukkitgradle:0.10.1"
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading
Loading