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

build: Add dependencies to Version Catalog #1887

Merged
merged 9 commits into from
Nov 30, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
35 changes: 17 additions & 18 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile

plugins {
kotlin("jvm") apply true
id("io.gitlab.arturbosch.detekt")
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.13.2"

id("com.avast.gradle.docker-compose")
id(libs.plugins.detekt.get().pluginId) apply true
alias(libs.plugins.binary.compatibility.validator)
id(libs.plugins.docker.compose.get().pluginId)
}

repositories {
Expand All @@ -34,7 +33,7 @@ val reportMerge by tasks.registering(ReportMergeTask::class) {

subprojects {
dependencies {
detektPlugins("io.gitlab.arturbosch.detekt", "detekt-formatting", "1.23.3")
detektPlugins(rootProject.libs.plugins.detekt)
}
tasks.withType<Detekt>().configureEach detekt@{
finalizedBy(reportMerge)
Expand All @@ -55,14 +54,14 @@ subprojects {
subprojects {
if (name == "exposed-bom") return@subprojects

apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = rootProject.libs.plugins.jvm.get().pluginId)

testDb("h2") {
withContainer = false
dialects("H2", "H2_MYSQL", "H2_PSQL", "H2_MARIADB", "H2_ORACLE", "H2_SQLSERVER")

dependencies {
dependency("com.h2database:h2:${Versions.h2_v2}")
dependency(rootProject.libs.h2)
}
}

Expand All @@ -71,7 +70,7 @@ subprojects {
dialects("H2", "H2_MYSQL")

dependencies {
dependency("com.h2database:h2:${Versions.h2}")
dependency(rootProject.libs.h1)
}
}

Expand All @@ -80,23 +79,23 @@ subprojects {
dialects("sqlite")

dependencies {
dependency("org.xerial:sqlite-jdbc:${Versions.sqlLite3}")
dependency(rootProject.libs.sqlite.jdbc)
}
}

testDb("mysql") {
port = 3001
dialects("mysql")
dependencies {
dependency("mysql:mysql-connector-java:${Versions.mysql51}")
dependency(rootProject.libs.mysql51)
}
}

testDb("mysql8") {
port = 3002
dialects("mysql")
dependencies {
dependency("mysql:mysql-connector-java:${Versions.mysql80}")
dependency(rootProject.libs.mysql)
}
}

Expand All @@ -105,7 +104,7 @@ subprojects {
container = "mariadb"
port = 3000
dependencies {
dependency("org.mariadb.jdbc:mariadb-java-client:${Versions.mariaDB_v2}")
dependency(rootProject.libs.maria.db2)
}
}

Expand All @@ -114,7 +113,7 @@ subprojects {
container = "mariadb"
port = 3000
dependencies {
dependency("org.mariadb.jdbc:mariadb-java-client:${Versions.mariaDB_v3}")
dependency(rootProject.libs.maria.db3)
}
}

Expand All @@ -123,15 +122,15 @@ subprojects {
colima = true
dialects("oracle")
dependencies {
dependency("com.oracle.database.jdbc:ojdbc8:${Versions.oracle12}")
dependency(rootProject.libs.oracle12)
}
}

testDb("postgres") {
port = 3004
dialects("postgresql")
dependencies {
dependency("org.postgresql:postgresql:${Versions.postgre}")
dependency(rootProject.libs.postgre)
}
}

Expand All @@ -140,16 +139,16 @@ subprojects {
dialects("postgresqlng")
container = "postgres"
dependencies {
dependency("org.postgresql:postgresql:${Versions.postgre}")
dependency("com.impossibl.pgjdbc-ng:pgjdbc-ng:${Versions.postgreNG}")
dependency(rootProject.libs.postgre)
dependency(rootProject.libs.pgjdbc.ng)
}
}

testDb("sqlserver") {
port = 3005
dialects("sqlserver")
dependencies {
dependency("com.microsoft.sqlserver:mssql-jdbc:${Versions.sqlserver}")
dependency(rootProject.libs.mssql)
}
}
}
6 changes: 3 additions & 3 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ repositories {

dependencies {
gradleApi()
implementation("org.jetbrains.kotlin.jvm", "org.jetbrains.kotlin.jvm.gradle.plugin", "1.9.20")
implementation("com.avast.gradle", "gradle-docker-compose-plugin", "0.17.4")
implementation("io.gitlab.arturbosch.detekt", "detekt-gradle-plugin", "1.23.3")
implementation(libs.jvm)
implementation(libs.docker.compose)
implementation(libs.detekt)
}

plugins {
Expand Down
9 changes: 9 additions & 0 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@


dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
23 changes: 12 additions & 11 deletions buildSrc/src/main/kotlin/org/jetbrains/exposed/gradle/Detekt.kt
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
package org.jetbrains.exposed.gradle

import io.gitlab.arturbosch.detekt.Detekt
import io.gitlab.arturbosch.detekt.DetektPlugin
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.withType

fun Project.configureDetekt() {
apply<DetektPlugin>()

configure<DetektExtension> {
ignoreFailures = false
buildUponDefaultConfig = true
config = files(
rootDir.resolve("detekt/detekt-config.yml").takeIf {
it.isFile
},
projectDir.resolve("detekt/detekt-config.yml").takeIf { it.isFile }
)
config.setFrom("$projectDir/detekt/detekt-config.yml")
parallel = true
}
tasks.withType<Detekt>().configureEach {
reports {
xml.enabled = true
html.enabled = false
txt.enabled = false
sarif.enabled = false
html.required.set(true) // observe findings in your browser with structure and code snippets
xml.required.set(true) // checkstyle like format mainly for integrations like Jenkins
txt.required.set(true) // similar to the console output, contains issue signature to manually edit baseline files
sarif.required.set(true) // standardized SARIF format (https://sarifweb.azurewebsites.net/) to support integrations with GitHub Code Scanning
md.required.set(true) // simple Markdown format
}
parallel = true
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package org.jetbrains.exposed.gradle

import com.avast.gradle.dockercompose.ComposeExtension
import org.gradle.api.Project
import org.gradle.api.artifacts.MinimalExternalModuleDependency
import org.gradle.api.internal.tasks.testing.filter.DefaultTestFilter
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.testing.AbstractTestTask
import org.gradle.api.tasks.testing.Test
Expand All @@ -11,6 +13,7 @@ import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.named
import org.gradle.kotlin.dsl.register
import java.time.Duration
import java.util.*

const val HEALTH_TIMEOUT: Long = 60

Expand All @@ -27,6 +30,11 @@ class TestDb(val name: String) {
fun dependency(dependencyNotation: String) {
dependencies.add(dependencyNotation)
}

fun dependency(dependencyNotation: Provider<MinimalExternalModuleDependency>) {
// translate dependency to string
dependency(dependencyNotation.get().toString())
}
}

fun dependencies(block: DependencyBlock.() -> Unit) {
Expand All @@ -49,7 +57,7 @@ fun Project.testDb(name: String, block: TestDb.() -> Unit) {
group = "verification"
systemProperties["exposed.test.name"] = db.name
systemProperties["exposed.test.container"] = if (db.withContainer) db.container else "none"
systemProperties["exposed.test.dialects"] = db.dialects.joinToString(",") { it.toUpperCase() }
systemProperties["exposed.test.dialects"] = db.dialects.joinToString(",") { it.uppercase(Locale.getDefault()) }
outputs.cacheIf { false }

if (!db.withContainer) return@register
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.jetbrains.exposed.gradle

@Deprecated("Use gradle version catalog")
object Versions {
const val kotlinCoroutines = "1.7.3"
const val kotlinxSerialization = "1.5.1"
Expand Down
6 changes: 2 additions & 4 deletions exposed-core/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import org.jetbrains.exposed.gradle.Versions

plugins {
kotlin("jvm") apply true
}
Expand All @@ -15,6 +13,6 @@ kotlin {
dependencies {
api(kotlin("stdlib"))
api(kotlin("reflect"))
api("org.jetbrains.kotlinx", "kotlinx-coroutines-core", Versions.kotlinCoroutines)
api("org.slf4j", "slf4j-api", "1.7.25")
api(libs.kotlinx.coroutines)
api(libs.slf4j)
}
2 changes: 1 addition & 1 deletion exposed-crypt/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ kotlin {

dependencies {
api(project(":exposed-core"))
api("org.springframework.security", "spring-security-crypto", "5.7.3")
api(libs.spring.security.crypto)
}
2 changes: 1 addition & 1 deletion exposed-java-time/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent

plugins {
kotlin("jvm") apply true
kotlin("plugin.serialization") apply true
alias(libs.plugins.serialization) apply true
}

repositories {
Expand Down
6 changes: 3 additions & 3 deletions exposed-jodatime/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
kotlin("jvm") apply true
kotlin("plugin.serialization") apply true
alias(libs.plugins.serialization) apply true
}

repositories {
Expand All @@ -13,10 +13,10 @@ kotlin {

dependencies {
api(project(":exposed-core"))
api("joda-time", "joda-time", "2.10.13")
api(libs.joda.time)
testImplementation(project(":exposed-dao"))
testImplementation(project(":exposed-tests"))
testImplementation(project(":exposed-json"))
testImplementation("junit", "junit", "4.12")
testImplementation(libs.junit)
testImplementation(kotlin("test-junit"))
}
11 changes: 5 additions & 6 deletions exposed-json/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import org.jetbrains.exposed.gradle.Versions

plugins {
kotlin("jvm") apply true
kotlin("plugin.serialization") apply true
alias(libs.plugins.serialization) apply true
//kotlin("plugin.serialization") apply true
}

repositories {
Expand All @@ -15,10 +14,10 @@ kotlin {

dependencies {
api(project(":exposed-core"))
api("org.jetbrains.kotlinx", "kotlinx-serialization-json", Versions.kotlinxSerialization)
compileOnly("org.postgresql", "postgresql", Versions.postgre)
api(libs.kotlinx.serialization)
compileOnly(libs.postgre)
testImplementation(project(":exposed-dao"))
testImplementation(project(":exposed-tests"))
testImplementation("junit", "junit", "4.12")
testImplementation(libs.junit)
testImplementation(kotlin("test-junit"))
}
7 changes: 4 additions & 3 deletions exposed-kotlin-datetime/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent

plugins {
kotlin("jvm") apply true
kotlin("plugin.serialization") apply true
alias(libs.plugins.serialization)
//kotlin("plugin.serialization") apply true
}

repositories {
Expand All @@ -16,11 +17,11 @@ kotlin {

dependencies {
api(project(":exposed-core"))
api("org.jetbrains.kotlinx", "kotlinx-datetime-jvm", "0.4.0")
api(libs.kotlinx.jvm.datetime)
testImplementation(project(":exposed-dao"))
testImplementation(project(":exposed-tests"))
testImplementation(project(":exposed-json"))
testImplementation("junit", "junit", "4.12")
testImplementation(libs.junit)
testImplementation(kotlin("test-junit"))
}

Expand Down
6 changes: 3 additions & 3 deletions exposed-money/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ kotlin {
dependencies {
api(project(":exposed-core"))
api(project(":exposed-dao"))
api("javax.money", "money-api", "1.1")
api(libs.javax.money)
testImplementation(project(":exposed-dao"))
testImplementation(project(":exposed-tests"))
testImplementation("junit", "junit", "4.12")
testImplementation(libs.junit)
testImplementation(kotlin("test-junit"))
testImplementation("org.javamoney", "moneta", "1.3")
testImplementation(libs.moneta)
}
19 changes: 8 additions & 11 deletions exposed-spring-boot-starter/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.exposed.gradle.Versions
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.gradle.api.tasks.testing.logging.*
import org.jetbrains.kotlin.gradle.tasks.*

plugins {
kotlin("jvm") apply true
Expand All @@ -19,14 +17,13 @@ dependencies {
api(project(":exposed-core"))
api(project(":exposed-dao"))
api(project(":spring-transaction"))
api("org.springframework.boot", "spring-boot-starter-data-jdbc", Versions.springBoot)
api("org.springframework.boot", "spring-boot-autoconfigure", Versions.springBoot)
compileOnly("org.springframework.boot", "spring-boot-configuration-processor", Versions.springBoot)

testImplementation("org.springframework.boot", "spring-boot-starter-test", Versions.springBoot)
api(libs.spring.boot.starter.data.jdbc)
api(libs.spring.boot.autoconfigure)
compileOnly(libs.spring.boot.configuration.processor)
testImplementation(libs.spring.boot.starter.test)
// put in testImplementation so no hard dependency for those using the starter
testImplementation("org.springframework.boot", "spring-boot-starter-webflux", Versions.springBoot)
testImplementation("com.h2database", "h2", Versions.h2_v2)
testImplementation(libs.spring.boot.starter.webflux)
testImplementation(libs.h2)
}

tasks.withType<KotlinCompile>().configureEach {
Expand Down
Loading