Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

Major dependency updates #146

Merged
merged 5 commits into from
Jan 23, 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: 3 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@ insert_final_newline = true
[*.{kt,kts}]
indent_size=4
max_line_length=off
disabled_rules=no-wildcard-imports
ktlint_standard_no-wildcard-imports=disabled
ktlint_standard_trailing-comma-on-declaration-site=disabled
ktlint_standard_trailing-comma-on-call-site=disabled
4 changes: 2 additions & 2 deletions .github/workflows/pull-request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ jobs:
./gradlew clean test

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2

- name: Test building image
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
context: .
file: Dockerfile
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,8 @@ out/
### VS Code ###
.vscode/

### Fleet ###
.fleet/

### Firebase secret ###
/firebase/*.json
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM --platform=linux/amd64 gradle:7.3-jdk17-alpine as builder
FROM --platform=linux/amd64 gradle:7.6-jdk17-alpine as builder

WORKDIR /builder
COPY . .
Expand Down
115 changes: 73 additions & 42 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.7.2"
id("org.jlleitschuh.gradle.ktlint") version "10.2.1"
kotlin("jvm") version "1.7.10"
kotlin("plugin.allopen") version "1.7.10"
kotlin("plugin.spring") version "1.7.10"
kotlin("plugin.jpa") version "1.7.10"
id("org.springframework.boot") version "3.0.1"
id("com.github.ben-manes.versions") version "0.44.0"
kotlin("jvm") version "1.8.0"
kotlin("plugin.allopen") version "1.8.0"
kotlin("plugin.spring") version "1.8.0"
kotlin("plugin.jpa") version "1.8.0"
}

val kotlinVersion = "1.7.10"
val jacksonVersion = "2.13.3"
val springBootVersion = "2.7.2"
val junitVersion = "5.9.0"
val kotlinVersion = "1.8.0"
val jacksonVersion = "2.14.1"
val springBootVersion = "3.0.1"
val junitVersion = "5.9.2"

val ktlint: Configuration by configurations.creating

group = "three.consulting"
java.sourceCompatibility = JavaVersion.VERSION_17
Expand All @@ -29,46 +30,76 @@ dependencies {
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion")
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
implementation("javax.validation:validation-api:2.0.1.Final")
implementation("javax.xml.bind:jaxb-api:2.3.1")
implementation("org.flywaydb:flyway-core:8.5.13")
implementation("org.springdoc:springdoc-openapi-ui:1.6.9")
implementation("io.github.microutils:kotlin-logging-jvm:2.1.23")
implementation("com.google.firebase:firebase-admin:8.2.0")
runtimeOnly("org.postgresql:postgresql:42.3.6")
implementation("jakarta.persistence:jakarta.persistence-api:3.1.0")
implementation("jakarta.validation:jakarta.validation-api:3.0.2")
implementation("org.flywaydb:flyway-core:9.11.0")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2")
implementation("io.github.microutils:kotlin-logging-jvm:3.0.4")
implementation("com.google.firebase:firebase-admin:9.1.1")

runtimeOnly("org.postgresql:postgresql:42.5.1")

testImplementation("org.springframework.boot:spring-boot-starter-test:$springBootVersion")
testImplementation("org.assertj:assertj-core:3.23.1")
testImplementation("org.assertj:assertj-core:3.24.1")
testImplementation("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
testImplementation("io.zonky.test:embedded-database-spring-test:2.1.1")
}
testImplementation("io.zonky.test:embedded-database-spring-test:2.2.0")

tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "17"
ktlint("com.pinterest:ktlint:0.48.1") {
attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.EXTERNAL))
}
}
dependsOn(tasks.ktlintCheck)
}

tasks.withType<Test> {
useJUnitPlatform()
dependsOn(tasks.ktlintCheck)
allOpen {
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.Embeddable")
annotation("jakarta.persistence.MappedSuperclass")
}

ktlint {
version.set("0.43.2")
verbose.set(true)
outputToConsole.set(true)
coloredOutput.set(true)
additionalEditorconfigFile.set(file("./editorconfig"))
filter {
exclude("**/generated/**")
include("**/kotlin/**")
tasks {
val ktlintFormat by creating(JavaExec::class) {
inputs.files(project.sourceSets.main.get().allSource)

classpath = ktlint
mainClass.set("com.pinterest.ktlint.Main")
args = listOf("-F", "src/**/*.kt", "!src/**/generated/**")
jvmArgs("--add-opens", "java.base/java.lang=ALL-UNNAMED")
}
}

allOpen {
annotation("javax.persistence.Entity")
annotation("javax.persistence.Embeddable")
annotation("javax.persistence.MappedSuperclass")
val ktlintCheck by creating(JavaExec::class) {
inputs.files(project.sourceSets.main.get().allSource)

classpath = ktlint
mainClass.set("com.pinterest.ktlint.Main")
args = listOf("src/**/*.kt", "!src/**/generated/**", "--color", "--color-name=LIGHT_RED")
}

compileKotlin {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
dependsOn(ktlintCheck)
}

compileTestKotlin {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
}

test {
useJUnitPlatform()
dependsOn(ktlintCheck)
}

dependencyUpdates {
rejectVersionIf {
val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { candidate.version.contains(it, ignoreCase = true) }
val regex = "^[0-9,.v-]+(-r)?$".toRegex()
val isStable = stableKeyword || regex.matches(candidate.version)
isStable.not()
}
}
}
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading