Skip to content
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
18 changes: 10 additions & 8 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
plugins {
java
kotlin("jvm")
id("com.diffplug.spotless") version "6.25.0"
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.spotless)
}

val springBootProjects = subprojects.filter {
it.name.startsWith("spring-boot") || it.name == "jpetstore"
}

val ktlintVersion: String by project
// Retain a reference to rootProject.libs to make the version catalog accessible within allprojects and subprojects.
// See https://github.com/gradle/gradle/issues/16708
val catalog = libs

allprojects {
apply(plugin = "base")
apply(plugin = "com.diffplug.spotless")
apply(plugin = catalog.plugins.spotless.get().pluginId)

spotless {
kotlin {
ktlint(ktlintVersion)
ktlint(catalog.ktlint.get().version)
targetExclude("build/**")
if (project.name == "codegen") {
targetExclude("src/**")
}
}
kotlinGradle {
ktlint(ktlintVersion)
ktlint(catalog.ktlint.get().version)
}
}

Expand All @@ -46,8 +48,8 @@ subprojects {
testImplementation(kotlin("test"))
if (project !in springBootProjects) {
testImplementation(kotlin("test"))
testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.3")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.3")
testImplementation(catalog.junit.api)
testRuntimeOnly(catalog.junit.engine)
}
}

Expand Down
25 changes: 13 additions & 12 deletions codegen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,27 @@ buildscript {
mavenCentral()
}
dependencies {
classpath(platform("org.testcontainers:testcontainers-bom:1.20.4"))
classpath("org.testcontainers:mysql")
classpath("org.testcontainers:postgresql")
classpath("mysql:mysql-connector-java:8.0.33")
classpath("org.postgresql:postgresql:42.7.4")
classpath(platform(libs.testcontainers.bom))
classpath(libs.testcontainers.mysql)
classpath(libs.testcontainers.postgresql)
classpath(libs.jdbc.mysql)
classpath(libs.jdbc.postgresql)
}
}

plugins {
application
idea
id("com.google.devtools.ksp")
id("org.komapper.gradle")
alias(libs.plugins.ksp)
alias(libs.plugins.komapper)
}

val komapperVersion: String by project

dependencies {
implementation("org.komapper:komapper-starter-jdbc:$komapperVersion")
ksp("org.komapper:komapper-processor:$komapperVersion")
platform(libs.komapper.platform).let {
implementation(it)
ksp(it)
}
implementation(libs.komapper.starter.jdbc)
ksp(libs.komapper.processor)
}

komapper {
Expand Down
13 changes: 5 additions & 8 deletions comparison-with-exposed/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
plugins {
application
idea
id("com.google.devtools.ksp")
alias(libs.plugins.ksp)
}

val komapperVersion: String by project

application {
mainClass.set("org.komapper.example.ApplicationKt")
}

dependencies {
platform("org.komapper:komapper-platform:$komapperVersion").let {
platform(libs.komapper.platform).let {
implementation(it)
ksp(it)
}
implementation("org.komapper:komapper-starter-jdbc")
implementation("org.komapper:komapper-dialect-h2-jdbc")
ksp("org.komapper:komapper-processor")
implementation(libs.komapper.starter.jdbc)
implementation(libs.komapper.dialect.h2.jdbc)
ksp(libs.komapper.processor)
}

ksp {
Expand Down
13 changes: 5 additions & 8 deletions console-jdbc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
plugins {
application
idea
id("com.google.devtools.ksp")
alias(libs.plugins.ksp)
}

val komapperVersion: String by project

dependencies {
platform("org.komapper:komapper-platform:$komapperVersion").let {
platform(libs.komapper.platform).let {
implementation(it)
ksp(it)
}
implementation("org.komapper:komapper-starter-jdbc")
implementation("org.komapper:komapper-dialect-h2-jdbc")
ksp("org.komapper:komapper-processor")
implementation(libs.komapper.starter.jdbc)
implementation(libs.komapper.dialect.h2.jdbc)
ksp(libs.komapper.processor)
}

application {
Expand Down
13 changes: 5 additions & 8 deletions console-r2dbc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
plugins {
application
idea
id("com.google.devtools.ksp")
alias(libs.plugins.ksp)
}

val komapperVersion: String by project

dependencies {
platform("org.komapper:komapper-platform:$komapperVersion").let {
platform(libs.komapper.platform).let {
implementation(it)
ksp(it)
}
implementation("org.komapper:komapper-starter-r2dbc")
implementation("org.komapper:komapper-dialect-h2-r2dbc")
ksp("org.komapper:komapper-processor")
implementation(libs.komapper.starter.r2dbc)
implementation(libs.komapper.dialect.h2.r2dbc)
ksp(libs.komapper.processor)
}

application {
Expand Down
9 changes: 0 additions & 9 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,3 @@ ksp.useKSP2=true

group=org.komapper
version=0.0.1

ktorVersion=3.0.1
kotlinVersion=2.1.0
komapperVersion=5.0.0
kspVersion=1.0.28
ktlintVersion=1.4.1
quarkusVersion=3.17.2
springBootVersion=3.4.0
nativeBuildToolsVersion=0.10.3
82 changes: 82 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
[versions]
junit = "5.11.3"
komapper = "5.0.0"
kotlin = "2.1.0"
ksp = "2.1.0-1.0.29"
quarkus = "3.17.2"
spring-boot = "3.4.0"

[libraries]
komapper-platform = { module = "org.komapper:komapper-platform", version.ref = "komapper" }
komapper-dialect-h2-jdbc = { module = "org.komapper:komapper-dialect-h2-jdbc" }
komapper-dialect-h2-r2dbc = { module = "org.komapper:komapper-dialect-h2-r2dbc" }
komapper-dialect-postgresql-jdbc = { module = "org.komapper:komapper-dialect-postgresql-jdbc" }
komapper-processor = { module = "org.komapper:komapper-processor" }
komapper-quarkus-jdbc = { module = "org.komapper:komapper-quarkus-jdbc" }
komapper-starter-jdbc = { module = "org.komapper:komapper-starter-jdbc" }
komapper-starter-r2dbc = { module = "org.komapper:komapper-starter-r2dbc" }
komapper-spring-boot-starter-jdbc = { module = "org.komapper:komapper-spring-boot-starter-jdbc" }
komapper-spring-boot-starter-r2dbc = { module = "org.komapper:komapper-spring-boot-starter-r2dbc" }

spring-boot-devtools = { module = "org.springframework.boot:spring-boot-devtools" }
spring-boot-starter-security = { module = "org.springframework.boot:spring-boot-starter-security" }
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" }
spring-boot-starter-thymeleaf = { module = "org.springframework.boot:spring-boot-starter-thymeleaf" }
spring-boot-starter-validation = { module = "org.springframework.boot:spring-boot-starter-validation" }
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" }
spring-boot-starter-webflux = { module = "org.springframework.boot:spring-boot-starter-webflux" }
thymeleaf-extras-springsecurity6 = { module = "org.thymeleaf.extras:thymeleaf-extras-springsecurity6" }
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin" }

ktor-bom = { module = "io.ktor:ktor-bom", version = "3.0.1" }
ktor-server-netty = { module = "io.ktor:ktor-server-netty" }
ktor-server-freemarker = { module = "io.ktor:ktor-server-freemarker" }
ktor-server-resources = { module = "io.ktor:ktor-server-resources" }
ktor-server-sessions = { module = "io.ktor:ktor-server-sessions" }
ktor-server-conditional-headers = { module = "io.ktor:ktor-server-conditional-headers" }
ktor-server-default-headers = { module = "io.ktor:ktor-server-default-headers" }
ktor-server-partial-content = { module = "io.ktor:ktor-server-partial-content" }
ktor-server-call-logging = { module = "io.ktor:ktor-server-call-logging" }
ktor-server-test-host = { module = "io.ktor:ktor-server-test-host" }

quarkus-bom = { module = "io.quarkus:quarkus-bom", version.ref = "quarkus" }
quarkus-jdbc-h2 = { module = "io.quarkus:quarkus-jdbc-h2" }
quarkus-jdbc-postgresql = { module = "io.quarkus:quarkus-jdbc-postgresql" }
quarkus-junit5 = { module = "io.quarkus:quarkus-junit5" }
quarkus-kotlin = { module = "io.quarkus:quarkus-kotlin" }
quarkus-resteasy = { module = "io.quarkus:quarkus-resteasy" }
quarkus-resteasy-jsonb = { module = "io.quarkus:quarkus-resteasy-jsonb" }

testcontainers-bom = { module = "org.testcontainers:testcontainers-bom", version = "1.20.4" }
testcontainers-mysql = { module = "org.testcontainers:mysql" }
testcontainers-postgresql = { module = "org.testcontainers:postgresql" }

freemarker = { module = "org.freemarker:freemarker", version = "2.3.33" }
freemarker-java8 = { module = "no.api.freemarker:freemarker-java8", version = "3.0.0" }
jdbc-h2 = { module = "com.h2database:h2", version = "2.3.232" }
jdbc-mysql = { module = "mysql:mysql-connector-java", version = "8.0.33" }
jdbc-postgresql = { module = "org.postgresql:postgresql", version = "42.7.4" }
ktlint = { module = "com.pinterest.ktlint:ktlint-cli", version = "1.4.1" }
logback-classic = { module = "ch.qos.logback:logback-classic", version = "1.5.12" }
mockk = { module = "io.mockk:mockk", version = "1.13.13" }
rest-assured = { module = "io.rest-assured:rest-assured", version="5.5.0" }
thymeleaf-layout-dialect = { module = "nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect", version = "3.3.0" }
webjars-jquery = { module = "org.webjars:jquery", version = "3.7.1" }
webjars-locator = { module = "org.webjars:webjars-locator", version = "0.52" }

junit-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" }
junit-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }

[plugins]
komapper = { id = "org.komapper.gradle", version.ref = "komapper" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
spotless = { id = "com.diffplug.spotless", version = "6.25.0" }
spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" }
spring-dependency-management = { id = "io.spring.dependency-management" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
quarkus = { id = "io.quarkus", version.ref = "quarkus" }
graalvm-buildtools-native = { id = "org.graalvm.buildtools.native", version = "0.10.3" }
43 changes: 20 additions & 23 deletions jpetstore/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
plugins {
idea
id("org.springframework.boot")
id("com.google.devtools.ksp")
kotlin("plugin.spring")
alias(libs.plugins.spring.boot)
alias(libs.plugins.ksp)
alias(libs.plugins.kotlin.spring)
}

apply(plugin = "io.spring.dependency-management")

val komapperVersion: String by project
apply(plugin = libs.plugins.spring.dependency.management.get().pluginId)

springBoot {
mainClass.set("org.komapper.example.ApplicationKt")
Expand All @@ -20,26 +17,26 @@ repositories {
}

dependencies {
platform("org.komapper:komapper-platform:$komapperVersion").let {
platform(libs.komapper.platform).let {
implementation(it)
ksp(it)
}

implementation("org.komapper:komapper-spring-boot-starter-jdbc")
implementation("org.komapper:komapper-dialect-h2-jdbc")
ksp("org.komapper:komapper-processor")

implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("org.thymeleaf.extras:thymeleaf-extras-springsecurity6")
implementation("com.h2database:h2:2.3.232")
implementation("org.webjars:jquery:3.7.1")
implementation("org.webjars:webjars-locator:0.52")
implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0")
developmentOnly("org.springframework.boot:spring-boot-devtools")
testImplementation("org.springframework.boot:spring-boot-starter-test") {
implementation(libs.komapper.spring.boot.starter.jdbc)
implementation(libs.komapper.dialect.h2.jdbc)
ksp(libs.komapper.processor)

implementation(libs.spring.boot.starter.thymeleaf)
implementation(libs.spring.boot.starter.web)
implementation(libs.spring.boot.starter.security)
implementation(libs.spring.boot.starter.validation)
implementation(libs.thymeleaf.extras.springsecurity6)
implementation(libs.jdbc.h2)
implementation(libs.webjars.jquery)
implementation(libs.webjars.locator)
implementation(libs.thymeleaf.layout.dialect)
developmentOnly(libs.spring.boot.devtools)
testImplementation(libs.spring.boot.starter.test) {
exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
}
}
Expand Down
50 changes: 23 additions & 27 deletions kweet/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
plugins {
application
idea
id("com.google.devtools.ksp")
id("org.jetbrains.kotlin.plugin.serialization")
alias(libs.plugins.ksp)
alias(libs.plugins.kotlin.serialization)
}

val ktorVersion: String by project
val komapperVersion: String by project

application {
mainClass.set("io.ktor.server.netty.EngineMain")
}
Expand All @@ -17,34 +13,34 @@ repositories {
}

dependencies {
platform("org.komapper:komapper-platform:$komapperVersion").let {
platform(libs.komapper.platform).let {
implementation(it)
ksp(it)
}
platform("io.ktor:ktor-bom:$ktorVersion").let {
platform(libs.ktor.bom).let {
implementation(it)
testImplementation(it)
}

implementation("org.komapper:komapper-starter-r2dbc")
implementation("org.komapper:komapper-dialect-h2-r2dbc")
ksp("org.komapper:komapper-processor")

implementation("io.ktor:ktor-server-netty")
implementation("io.ktor:ktor-server-freemarker")
implementation("io.ktor:ktor-server-resources")
implementation("io.ktor:ktor-server-sessions")
implementation("io.ktor:ktor-server-conditional-headers")
implementation("io.ktor:ktor-server-default-headers")
implementation("io.ktor:ktor-server-partial-content")
implementation("io.ktor:ktor-server-call-logging")
implementation("org.freemarker:freemarker:2.3.33")
implementation("no.api.freemarker:freemarker-java8:3.0.0")
runtimeOnly("ch.qos.logback:logback-classic:1.5.12")

testImplementation("io.ktor:ktor-server-test-host")
testImplementation("io.mockk:mockk:1.13.13")
testImplementation("org.jetbrains.kotlin:kotlin-test")
implementation(libs.komapper.starter.r2dbc)
implementation(libs.komapper.dialect.h2.r2dbc)
ksp(libs.komapper.processor)

implementation(libs.ktor.server.netty)
implementation(libs.ktor.server.freemarker)
implementation(libs.ktor.server.resources)
implementation(libs.ktor.server.sessions)
implementation(libs.ktor.server.conditional.headers)
implementation(libs.ktor.server.default.headers)
implementation(libs.ktor.server.partial.content)
implementation(libs.ktor.server.call.logging)
implementation(libs.freemarker)
implementation(libs.freemarker.java8)
runtimeOnly(libs.logback.classic)

testImplementation(libs.ktor.server.test.host)
testImplementation(libs.mockk)
testImplementation(libs.kotlin.test)
}

sourceSets {
Expand Down
Loading
Loading