Skip to content

Commit 58230f8

Browse files
committed
Bumped dependencies, most notably spring boot to 3.5.5, media-analyzer 2.0.9 with a fix for handling iphone APAC audio and springdoc-openapi to 2.8.13 together with fixes to make swagger work again. Fixed progress parsing with Ffmpeg 8.0.
2 parents 92d62cc + a8e4af5 commit 58230f8

File tree

13 files changed

+92
-53
lines changed

13 files changed

+92
-53
lines changed

.idea/compiler.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

buildSrc/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ kotlin {
1313
dependencies {
1414
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25")
1515
implementation("org.jetbrains.kotlin:kotlin-allopen:1.9.25")
16-
implementation("org.springframework.boot:spring-boot-gradle-plugin:3.4.3")
16+
implementation("org.springframework.boot:spring-boot-gradle-plugin:3.5.5")
1717
implementation("io.spring.gradle:dependency-management-plugin:1.1.5")
1818
implementation("org.jmailen.gradle:kotlinter-gradle:4.4.1")
1919
implementation("pl.allegro.tech.build:axion-release-plugin:1.18.8")
20-
implementation("org.graalvm.buildtools:native-gradle-plugin:0.10.5")
20+
implementation("org.graalvm.buildtools:native-gradle-plugin:0.11.0")
2121
implementation("com.github.fhermansson:assertj-gradle-plugin:1.1.5")
2222
implementation("com.github.ben-manes:gradle-versions-plugin:0.51.0")
2323
}

buildSrc/src/main/kotlin/encore.kotlin-conventions.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,19 @@ tasks.test {
6464
}
6565
dependencyManagement {
6666
imports {
67-
mavenBom("org.springframework.boot:spring-boot-dependencies:3.4.3")
68-
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2024.0.0")
67+
mavenBom("org.springframework.boot:spring-boot-dependencies:3.5.5")
68+
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2025.0.0")
6969
}
7070
}
7171
dependencies {
7272
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
73-
implementation("io.github.oshai:kotlin-logging-jvm:7.0.5")
73+
implementation("io.github.oshai:kotlin-logging-jvm:7.0.13")
7474
implementation("org.springframework.boot:spring-boot-starter-data-redis")
7575
testImplementation("org.springframework.boot:spring-boot-starter-test") {
7676
exclude(group = "org.mockito")
7777
}
7878
testImplementation("org.assertj:assertj-core")
79-
testImplementation("io.mockk:mockk:1.13.17")
79+
testImplementation("io.mockk:mockk:1.14.5")
8080
}
8181

8282

buildSrc/src/main/kotlin/encore.spring-boot-app-conventions.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ tasks.named<BootJar>("bootJar") {
1717
}
1818
dependencyManagement {
1919
imports {
20-
mavenBom("org.springframework.boot:spring-boot-dependencies:3.4.3")
21-
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2024.0.0")
20+
mavenBom("org.springframework.boot:spring-boot-dependencies:3.5.5")
21+
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2025.0.0")
2222
}
2323
}
2424
dependencies {
2525
implementation("org.springframework.boot:spring-boot-starter")
2626
implementation("org.springframework.cloud:spring-cloud-starter-config")
2727
implementation("org.springframework.boot:spring-boot-starter-logging")
28-
implementation("net.logstash.logback:logstash-logback-encoder:8.0")
28+
implementation("net.logstash.logback:logstash-logback-encoder:8.1")
2929
}
3030

3131

encore-common/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ plugins {
55

66
dependencies {
77

8-
api("se.svt.oss:media-analyzer:2.0.7")
8+
api("se.svt.oss:media-analyzer:2.0.9")
99
implementation(kotlin("reflect"))
1010

11-
compileOnly("org.springdoc:springdoc-openapi-starter-webmvc-api:2.6.0")
11+
compileOnly("org.springdoc:springdoc-openapi-starter-webmvc-api:2.8.13")
1212
compileOnly("org.springframework.data:spring-data-rest-core")
1313
compileOnly("org.springframework.boot:spring-boot-starter-validation")
1414
implementation("org.springframework.boot:spring-boot-starter-webflux")
@@ -22,9 +22,9 @@ dependencies {
2222
testImplementation("org.awaitility:awaitility")
2323
testImplementation("org.wiremock:wiremock-standalone:3.12.1")
2424
testImplementation("org.springframework.boot:spring-boot-starter-data-rest")
25-
testFixturesImplementation(platform("org.springframework.boot:spring-boot-dependencies:3.4.3"))
25+
testFixturesImplementation(platform("org.springframework.boot:spring-boot-dependencies:3.5.5"))
2626
testFixturesImplementation("com.redis:testcontainers-redis:2.2.4")
27-
testFixturesImplementation("io.github.microutils:kotlin-logging:3.0.5")
27+
testFixturesImplementation("io.github.oshai:kotlin-logging-jvm:7.0.13")
2828
testFixturesImplementation("org.junit.jupiter:junit-jupiter-api")
2929
testFixturesRuntimeOnly("org.junit.platform:junit-platform-launcher")
3030
}

encore-common/src/main/kotlin/se/svt/oss/encore/model/EncoreJob.kt

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import java.util.UUID
2626
@Tag(name = "encorejob")
2727
data class EncoreJob(
2828

29-
@Schema(
29+
@field:Schema(
3030
description = "The Encore Internal EncoreJob Identity",
3131
example = "fb2baa17-8972-451b-bb1e-1bc773283476",
3232
readOnly = true,
@@ -36,44 +36,44 @@ data class EncoreJob(
3636
@Id
3737
val id: UUID = UUID.randomUUID(),
3838

39-
@Schema(
39+
@field:Schema(
4040
description = "External id - for external backreference",
4141
example = "any-string",
4242
nullable = true,
4343
)
4444
val externalId: String? = null,
4545

46-
@Schema(
46+
@field:Schema(
4747
description = "The name of the encoding profile to use",
4848
example = "x264-animated",
4949
required = true,
5050
)
51-
@NotBlank
51+
@field:NotBlank
5252
val profile: String,
5353

54-
@Schema(
54+
@field:Schema(
5555
description = "Properties for evaluation of spring spel expressions in profile",
5656
defaultValue = "{}",
5757
)
5858
val profileParams: Map<String, Any?> = emptyMap(),
5959

60-
@Schema(
60+
@field:Schema(
6161
description = "A directory path to where the output should be written",
6262
example = "/an/output/path/dir",
6363
required = true,
6464
)
65-
@NotBlank
65+
@field:NotBlank
6666
val outputFolder: String,
6767

68-
@Schema(
68+
@field:Schema(
6969
description = "Base filename of output files",
7070
example = "any_file",
7171
required = true,
7272
)
73-
@NotBlank
73+
@field:NotBlank
7474
val baseName: String,
7575

76-
@Schema(
76+
@field:Schema(
7777
description = "The Creation date for the EncoreJob",
7878
example = "2021-04-22T03:00:48.759168+02:00",
7979
readOnly = true,
@@ -82,98 +82,98 @@ data class EncoreJob(
8282
@Indexed
8383
val createdDate: OffsetDateTime = OffsetDateTime.now(),
8484

85-
@Schema(
85+
@field:Schema(
8686
description = "An url to which the progress status callback should be directed",
8787
example = "http://projectx/encorecallback",
8888
nullable = true,
8989
)
9090
val progressCallbackUri: String? = null,
9191

92-
@Schema(
92+
@field:Schema(
9393
description = "The queue priority of the EncoreJob",
9494
defaultValue = "0",
9595
minimum = "0",
9696
maximum = "100",
9797
)
98-
@Min(0)
99-
@Max(100)
98+
@field:Min(0)
99+
@field:Max(100)
100100
val priority: Int = 0,
101101

102-
@Schema(
102+
@field:Schema(
103103
description = "Transcode segments of specified length in seconds in parallell. Should be a multiple of target GOP.",
104104
example = "19.2",
105105
nullable = true,
106106
)
107-
@Positive
107+
@field:Positive
108108
val segmentLength: Double? = null,
109109

110-
@Schema(
110+
@field:Schema(
111111
description = "The exception message, if the EncoreJob failed",
112112
example = "input/output error",
113113
readOnly = true,
114114
nullable = true,
115115
)
116116
var message: String? = null,
117117

118-
@Schema(
118+
@field:Schema(
119119
description = "The EncoreJob progress",
120120
example = "57",
121121
readOnly = true,
122122
defaultValue = "0",
123123
)
124124
var progress: Int = 0,
125125

126-
@Schema(
126+
@field:Schema(
127127
description = "The Encoding speed of the job (compared to it's play speed/input duration)",
128128
example = "0.334",
129129
readOnly = true,
130130
nullable = true,
131131
)
132132
var speed: Double? = null,
133133

134-
@Schema(
134+
@field:Schema(
135135
description = "The time for when the EncoreJob was picked from the queue)",
136136
example = "2021-04-19T07:20:43.819141+02:00",
137137
readOnly = true,
138138
nullable = true,
139139
)
140140
var startedDate: OffsetDateTime? = null,
141141
142-
@Schema(
142+
@field:Schema(
143143
description = "The time for when the EncoreJob was completed (fail or success)",
144144
example = "2021-04-19T07:20:43.819141+02:00",
145145
readOnly = true,
146146
nullable = true,
147147
)
148148
var completedDate: OffsetDateTime? = null,
149149
150-
@Schema(
150+
@field:Schema(
151151
description = "Instruct Encore to overlay encoding metadata on the encoded video stream",
152152
defaultValue = "false",
153153
)
154154
val debugOverlay: Boolean = false,
155155
156-
@Schema(
156+
@field:Schema(
157157
description = "Key/Values to append to the MDC log context",
158158
defaultValue = "{}",
159159
)
160160
val logContext: Map<String, String> = emptyMap(),
161161
162-
@Schema(description = "Seek to given time in seconds before encoding output.", nullable = true, example = "60.0")
162+
@field:Schema(description = "Seek to given time in seconds before encoding output.", nullable = true, example = "60.0")
163163
val seekTo: Double? = null,
164164
165-
@Schema(description = "Limit output to given duration.", nullable = true, example = "60.0")
165+
@field:Schema(description = "Limit output to given duration.", nullable = true, example = "60.0")
166166
val duration: Double? = null,
167167
168-
@Schema(
168+
@field:Schema(
169169
description = "Time in seconds for when the thumbnail should be picked. Overrides profile configuration for thumbnails",
170170
example = "1800.5",
171171
nullable = true,
172172
)
173-
@Positive
173+
@field:Positive
174174
val thumbnailTime: Double? = null,
175175
176-
@NotEmpty
176+
@field:NotEmpty
177177
val inputs: List<Input> = emptyList(),
178178
) {
179179

encore-common/src/main/kotlin/se/svt/oss/encore/service/FfmpegExecutor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class FfmpegExecutor(
3636
fun getLoglevel(line: String) = logLevelRegex.matchEntire(line)?.groups?.get("level")?.value
3737

3838
val progressRegex =
39-
Regex(".*time=(?<hours>\\d{2}):(?<minutes>\\d{2}):(?<seconds>\\d{2}\\.\\d+) .* speed= *(?<speed>[0-9.e-]+x) *")
39+
Regex(".*time=(?<hours>\\d{2}):(?<minutes>\\d{2}):(?<seconds>\\d{2}\\.\\d+) .* speed= *(?<speed>[0-9.e-]+x) .*")
4040

4141
fun run(
4242
encoreJob: EncoreJob,

encore-common/src/test/kotlin/se/svt/oss/encore/EncoreIntegrationTestBase.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import org.springframework.beans.factory.annotation.Value
2020
import org.springframework.boot.test.context.SpringBootTest
2121
import org.springframework.context.annotation.Import
2222
import org.springframework.core.io.Resource
23-
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
2423
import org.springframework.test.annotation.DirtiesContext
2524
import se.svt.oss.encore.Assertions.assertThat
2625
import se.svt.oss.encore.model.EncoreJob
@@ -44,9 +43,6 @@ class EncoreIntegrationTestBase(val wireMockRuntimeInfo: WireMockRuntimeInfo) {
4443
@Autowired
4544
lateinit var objectMapper: ObjectMapper
4645

47-
@Autowired
48-
lateinit var scheduler: ThreadPoolTaskScheduler
49-
5046
@Value("classpath:input/test.mp4")
5147
lateinit var testFileSurround: Resource
5248

encore-common/src/testFixtures/kotlin/se/svt/oss/encore/RedisExtension.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package se.svt.oss.encore
22

33
import com.redis.testcontainers.RedisContainer
4-
import mu.KotlinLogging
4+
import io.github.oshai.kotlinlogging.KotlinLogging
55
import org.junit.jupiter.api.extension.BeforeAllCallback
66
import org.junit.jupiter.api.extension.ExtensionContext
77
import org.testcontainers.DockerClientFactory

encore-web/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ plugins {
66
dependencies {
77
implementation(project(":encore-common"))
88
implementation("org.springframework.boot:spring-boot-starter-data-rest")
9-
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0")
9+
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13")
1010
implementation("org.springframework.boot:spring-boot-starter-security")
1111
implementation("org.springframework.boot:spring-boot-starter-actuator")
1212
implementation("org.springframework.boot:spring-boot-starter-validation")
1313

1414
testImplementation(testFixtures(project(":encore-common")))
1515
testImplementation("com.ninja-squad:springmockk:4.0.2")
16-
}
16+
}

0 commit comments

Comments
 (0)