mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-13 16:40:01 +00:00
8d8dca32d8
* chore: bump version to v2.3.0-preview * Customize start page (#803) * Update ConfigService to support complex Objects Implemented tests for ConfigService * Added DB migration for config table * Fixed version in banner.txt not being displayed * Implement Library ordering Implement "Show recently added games on homepage" * Fix build.gradle.kts * FIx bug when creating libraries * Fix TypeScript errors Fix library sorting * Bump actions/checkout from 5 to 6 (#811) Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added automatic scanning using file system watchers (#813) * Implement collections (#814) * Backend implementation for collections * Fix database schema and migration script * Refactor some config values Fix ArrayInput not being deactivatable * Remove "AutoRegisterNewUsers" config option * Fix bug when removing ignored paths * Add UI for collections (WIP) * Fix table actions not synced with state Fix tests * Finish implementation of collection feature * Fix tests * Bump actions/checkout from 5 to 6 (#815) Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix "allow guests to create game requests" not being enabled when guest access is activated * Fix: Disable loading of EditGameMetadataModal and MatchGameModal in GameView when user is not admin * WIP: Update start page layout * Performance improvements (lazy loading and virtualized grids/lists) Fix various smaller issues * Implement use of blurhash for all images in backend and covers in frontend * Fix bugs and test * Fix code analysis issues * Remove "UI settings" since they have been made obsolete --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
114 lines
3.7 KiB
Kotlin
114 lines
3.7 KiB
Kotlin
import org.apache.tools.ant.filters.ReplaceTokens
|
|
|
|
group = "org.gameyfin"
|
|
val appMainClass = "org.gameyfin.app.GameyfinApplicationKt"
|
|
|
|
plugins {
|
|
id("org.springframework.boot")
|
|
id("io.spring.dependency-management")
|
|
id("com.vaadin")
|
|
kotlin("jvm")
|
|
kotlin("plugin.spring")
|
|
kotlin("plugin.jpa")
|
|
id("com.google.devtools.ksp")
|
|
application
|
|
}
|
|
|
|
application {
|
|
mainClass.set(appMainClass)
|
|
}
|
|
|
|
allOpen {
|
|
annotations("javax.persistence.Entity", "javax.persistence.MappedSuperclass", "javax.persistence.Embedabble")
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
setUrl("https://maven.vaadin.com/vaadin-addons")
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// Spring Boot
|
|
implementation("org.springframework.boot:spring-boot-starter-actuator")
|
|
implementation("org.springframework.boot:spring-boot-starter-security")
|
|
implementation("org.springframework.boot:spring-boot-starter-validation")
|
|
implementation("org.springframework.boot:spring-boot-starter-aop")
|
|
implementation("org.springframework.cloud:spring-cloud-starter")
|
|
implementation("jakarta.validation:jakarta.validation-api:3.1.0")
|
|
|
|
// Kotlin extensions
|
|
implementation(kotlin("reflect"))
|
|
|
|
// Reactive
|
|
implementation("org.springframework.boot:spring-boot-starter-webflux")
|
|
implementation("io.projectreactor.kotlin:reactor-kotlin-extensions")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor")
|
|
|
|
// Vaadin Hilla
|
|
implementation("com.vaadin:vaadin-core") {
|
|
exclude("com.vaadin:flow-react")
|
|
}
|
|
implementation("com.vaadin:vaadin-spring-boot-starter")
|
|
|
|
// Logging
|
|
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
|
|
|
|
// Persistence & I/O
|
|
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
|
|
implementation("com.github.paulcwarren:spring-content-fs-boot-starter:3.0.17")
|
|
implementation("org.flywaydb:flyway-core")
|
|
implementation("commons-io:commons-io:2.18.0")
|
|
|
|
// SSO
|
|
implementation("org.springframework.boot:spring-boot-starter-oauth2-client")
|
|
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
|
|
implementation("org.springframework.security:spring-security-oauth2-jose")
|
|
|
|
// Notifications
|
|
implementation("org.springframework.boot:spring-boot-starter-mail")
|
|
implementation("ch.digitalfondue.mjml4j:mjml4j:1.0.3")
|
|
|
|
// Plugins
|
|
implementation(project(":plugin-api"))
|
|
|
|
// Utils
|
|
implementation("org.apache.tika:tika-core:3.2.3")
|
|
implementation("me.xdrop:fuzzywuzzy:1.4.0")
|
|
implementation("com.vanniktech:blurhash:0.3.0")
|
|
|
|
// Development
|
|
developmentOnly("org.springframework.boot:spring-boot-devtools")
|
|
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
|
|
runtimeOnly("com.h2database:h2")
|
|
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
|
|
|
|
// Testing
|
|
testImplementation(kotlin("test"))
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test") {
|
|
exclude(group = "org.mockito", module = "mockito-core")
|
|
}
|
|
testImplementation("io.mockk:mockk:${rootProject.extra["mockkVersion"]}")
|
|
testImplementation("org.springframework.security:spring-security-test")
|
|
testImplementation("io.projectreactor:reactor-test")
|
|
}
|
|
|
|
dependencyManagement {
|
|
imports {
|
|
mavenBom("com.vaadin:vaadin-bom:${rootProject.extra["vaadinVersion"]}")
|
|
mavenBom("org.springframework.cloud:spring-cloud-dependencies:${rootProject.extra["springCloudVersion"]}")
|
|
}
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.named<ProcessResources>("processResources") {
|
|
val projectVersion = rootProject.version.toString()
|
|
filesMatching("application.yml") {
|
|
filter<ReplaceTokens>("tokens" to mapOf("project.version" to projectVersion))
|
|
}
|
|
}
|
|
|