From e3931e3e8f94ebcf0b408a8f755a21fa26a1af93 Mon Sep 17 00:00:00 2001 From: Infendro Date: Tue, 13 Jan 2026 18:00:23 +0100 Subject: [PATCH 1/2] improve ci --- .gitea/workflows/ci.yaml | 30 ++++++++++++++++++++++++++++++ .gitea/workflows/main.yaml | 34 ---------------------------------- 2 files changed, 30 insertions(+), 34 deletions(-) create mode 100644 .gitea/workflows/ci.yaml delete mode 100644 .gitea/workflows/main.yaml diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..73a9a03 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,30 @@ +on: + push: + branches: [ main ] + +jobs: + publish: + runs-on: linux + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Java + uses: actions/setup-java@v4 + with: + java-version: '24' + distribution: 'temurin' + + - name: Cache Gradle + uses: actions/cache@v4 + with: + key: gradle-${{ hashFiles('**/libs.versions.toml') }} + restore-keys: gradle- + path: | + ~/.gradle/caches/ + ~/.gradle/wrapper/ + + - name: Publish + run: ./gradlew publish + env: + INFENDRO__TOKEN: ${{ secrets.TOKEN }} diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml deleted file mode 100644 index ba54490..0000000 --- a/.gitea/workflows/main.yaml +++ /dev/null @@ -1,34 +0,0 @@ -on: - push: - branches: - - main - -env: - INFENDRO__TOKEN: ${{ secrets.TOKEN }} - -jobs: - publish: - runs-on: linux - steps: - - uses: actions/checkout@v4 - - - uses: actions/cache/restore@v4 - with: - key: gradle - path: | - ~/.gradle/caches/ - ~/.gradle/wrapper/ - - - uses: actions/setup-java@v4 - with: - java-version: '24' - distribution: 'temurin' - - - run: ./gradlew publish - - - uses: actions/cache/save@v4 - with: - key: gradle - path: | - ~/.gradle/caches/ - ~/.gradle/wrapper/ From d26f0a131039322d8f776c19e68dc5866fbe55e5 Mon Sep 17 00:00:00 2001 From: Infendro Date: Thu, 19 Feb 2026 14:16:50 +0100 Subject: [PATCH 2/2] Upgrade dependencies --- .gitea/workflows/{ci.yaml => publish.yaml} | 2 +- README.md | 6 +----- build.gradle.kts | 5 +++-- gradle/libs.versions.toml | 13 +++++++------ .../kotlin/com/infendro/ktor/migration/Plugin.kt | 16 +++++++--------- 5 files changed, 19 insertions(+), 23 deletions(-) rename .gitea/workflows/{ci.yaml => publish.yaml} (95%) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/publish.yaml similarity index 95% rename from .gitea/workflows/ci.yaml rename to .gitea/workflows/publish.yaml index 73a9a03..2fb6dd3 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/publish.yaml @@ -19,7 +19,7 @@ jobs: uses: actions/cache@v4 with: key: gradle-${{ hashFiles('**/libs.versions.toml') }} - restore-keys: gradle- + restore-keys: gradle path: | ~/.gradle/caches/ ~/.gradle/wrapper/ diff --git a/README.md b/README.md index 6e87166..9abac39 100644 --- a/README.md +++ b/README.md @@ -12,17 +12,13 @@ repositories { } dependencies { - implementation("com.infendro:ktor-migration:1.1.1") + implementation("com.infendro:ktor-migration:1.2.0") } ``` ## Usage ```kotlin -import com.infendro.ktor.migration.Migration -import io.ktor.server.application.* -import org.jetbrains.exposed.sql.Database - fun Application.configureDatabase() { // connect to a database Database.connect(/* parameters */) diff --git a/build.gradle.kts b/build.gradle.kts index 09c9e12..995db95 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,7 @@ import com.infendro.plugin.infendro import com.infendro.plugin.token group = "com.infendro" -version = "1.1.1" +version = "1.2.0" plugins { alias(libs.plugins.infendro) @@ -16,9 +16,10 @@ repositories { } dependencies { - implementation(libs.migration) implementation(libs.ktor.server) + implementation(libs.migration) implementation(libs.exposed) + implementation(libs.exposed.jdbc) } publishing { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c7f183f..0f3b5e1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,15 +1,16 @@ [versions] -infendro = "1.0.0" -kotlin = "2.2.21" -ktor = "3.3.3" -exposed = "0.61.0" -migration = "1.1.1" +infendro = "1.1.0" +kotlin = "2.3.0" +ktor = "3.4.0" +migration = "1.2.0" +exposed = "1.0.0" [plugins] infendro = { id = "com.infendro.plugin", version.ref = "infendro" } kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } [libraries] -migration = { module = "com.infendro:migration", version.ref = "migration" } ktor-server = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor" } +migration = { module = "com.infendro:migration", version.ref = "migration" } exposed = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" } +exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" } diff --git a/src/main/kotlin/com/infendro/ktor/migration/Plugin.kt b/src/main/kotlin/com/infendro/ktor/migration/Plugin.kt index 028ea7c..ecb0216 100644 --- a/src/main/kotlin/com/infendro/ktor/migration/Plugin.kt +++ b/src/main/kotlin/com/infendro/ktor/migration/Plugin.kt @@ -2,20 +2,18 @@ package com.infendro.ktor.migration import com.infendro.migration.migrate import io.ktor.server.application.* -import org.jetbrains.exposed.sql.Transaction +import org.jetbrains.exposed.v1.jdbc.JdbcTransaction -val Migration = createApplicationPlugin( - name = "Migration", - createConfiguration = { MigrationConfig() }, -) { +val Migration = createApplicationPlugin("Migration", MigrationConfig::new) { migrate(pluginConfig.config) } class MigrationConfig { internal val config = com.infendro.migration.MigrationConfig() - fun migration( - name: String, - migrate: Transaction.() -> Unit, - ) = config.migration(name, migrate) + fun migration(name: String, migrate: JdbcTransaction.() -> Unit) = config.migration(name, migrate) + + companion object { + fun new() = MigrationConfig() + } }