Skip to content

Commit 2d9daf2

Browse files
committed
Update spring boot samples and bump kotlin to 2.1.0
1 parent cc2ee7a commit 2d9daf2

19 files changed

Lines changed: 81 additions & 71 deletions

File tree

build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import org.gradle.util.internal.VersionNumber
2-
31
buildscript {
4-
if (VersionNumber.parse(BuildPluginsVersion.AGP).major < 8) {
2+
dependencies { classpath("org.apache.commons:commons-compress:1.26.0") }
3+
if (BuildPluginsVersion.AGP.substringBefore(".").toInt() < 8) {
54
// AGP 7.x has troubles with compileSdk 34 due to some R8 shenanigans, so we have to use a newer
65
// version of R* here
76
dependencies { classpath("com.android.tools:r8:8.11.18") }

buildSrc/src/main/java/Dependencies.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import org.gradle.util.internal.VersionNumber
2-
31
object BuildPluginsVersion {
42
val AGP = System.getenv("VERSION_AGP") ?: "8.10.1"
53
val GROOVY_REDISTRIBUTED = System.getenv("VERSION_GROOVY") ?: "1.7.1"

examples/multi-module-sample/spring-boot-in-multi-module-sample/build.gradle.kts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import org.jetbrains.kotlin.config.KotlinCompilerVersion
2+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
23
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
34

45
plugins {
@@ -13,9 +14,9 @@ group = "io.sentry.samples.spring-boot"
1314

1415
version = "0.0.1-SNAPSHOT"
1516

16-
java.sourceCompatibility = JavaVersion.VERSION_1_8
17+
java.sourceCompatibility = JavaVersion.VERSION_17
1718

18-
java.targetCompatibility = JavaVersion.VERSION_1_8
19+
java.targetCompatibility = JavaVersion.VERSION_17
1920

2021
dependencies {
2122
implementation(libs.sample.springBoot.starterSecurity)
@@ -26,6 +27,7 @@ dependencies {
2627
implementation(libs.sample.springBoot.starter)
2728
implementation(libs.sample.springBoot.kotlinReflect)
2829
implementation(libs.sample.springBoot.starterJdbc)
30+
implementation(libs.sentrySpringBootJakarta)
2931
implementation(kotlin(Samples.SpringBoot.kotlinStdLib, KotlinCompilerVersion.VERSION))
3032

3133
runtimeOnly(libs.sample.springBoot.hsqldb)
@@ -37,9 +39,9 @@ dependencies {
3739
tasks.withType<Test>().configureEach { useJUnitPlatform() }
3840

3941
tasks.withType<KotlinCompile>().configureEach {
40-
kotlinOptions {
42+
compilerOptions {
4143
freeCompilerArgs = listOf("-Xjsr305=strict")
42-
jvmTarget = JavaVersion.VERSION_1_8.toString()
44+
jvmTarget.set(JVM_17)
4345
}
4446
}
4547

examples/multi-module-sample/spring-boot-in-multi-module-sample/src/main/java/io/sentry/samples/spring/boot/CustomJob.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.sentry.samples.spring.boot;
22

3-
import io.sentry.spring.tracing.SentryTransaction;
3+
import io.sentry.spring.jakarta.tracing.SentryTransaction;
44
import org.slf4j.Logger;
55
import org.slf4j.LoggerFactory;
66
import org.springframework.scheduling.annotation.Scheduled;

examples/multi-module-sample/spring-boot-in-multi-module-sample/src/main/java/io/sentry/samples/spring/boot/PersonService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.sentry.ISpan;
44
import io.sentry.Sentry;
5-
import io.sentry.spring.tracing.SentrySpan;
5+
import io.sentry.spring.jakarta.tracing.SentrySpan;
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
88
import org.springframework.jdbc.core.JdbcTemplate;

examples/multi-module-sample/spring-boot-in-multi-module-sample/src/main/java/io/sentry/samples/spring/boot/SecurityConfiguration.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,32 @@
44
import org.springframework.context.annotation.Bean;
55
import org.springframework.context.annotation.Configuration;
66
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
7+
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
78
import org.springframework.security.core.userdetails.User;
89
import org.springframework.security.core.userdetails.UserDetails;
910
import org.springframework.security.core.userdetails.UserDetailsService;
1011
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
1112
import org.springframework.security.crypto.password.PasswordEncoder;
1213
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
14+
import org.springframework.security.web.SecurityFilterChain;
15+
16+
import static org.springframework.security.config.Customizer.withDefaults;
1317

1418
@Configuration
15-
@SuppressWarnings("deprecation") // WebSecurityConfigurerAdapter has been deprecated
16-
public class SecurityConfiguration
17-
extends org.springframework.security.config.annotation.web.configuration
18-
.WebSecurityConfigurerAdapter {
19+
public class SecurityConfiguration {
1920

20-
// this API is meant to be consumed by non-browser clients thus the CSRF protection is not needed.
21-
@Override
21+
@Bean
2222
@SuppressWarnings("lgtm[java/spring-disabled-csrf-protection]")
23-
protected void configure(final @NotNull HttpSecurity http) throws Exception {
24-
http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic();
23+
public @NotNull SecurityFilterChain securityFilterChain(final @NotNull HttpSecurity http)
24+
throws Exception {
25+
return http
26+
.csrf(AbstractHttpConfigurer::disable)
27+
.authorizeHttpRequests(auth -> auth.anyRequest().authenticated())
28+
.httpBasic(withDefaults())
29+
.build();
2530
}
2631

2732
@Bean
28-
@Override
2933
public @NotNull UserDetailsService userDetailsService() {
3034
final PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
3135

examples/multi-module-sample/spring-boot-in-multi-module-sample2/build.gradle.kts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import org.jetbrains.kotlin.config.KotlinCompilerVersion
2+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
23
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
34

45
plugins {
@@ -13,9 +14,9 @@ group = "io.sentry.samples.spring-boot"
1314

1415
version = "0.0.1-SNAPSHOT"
1516

16-
java.sourceCompatibility = JavaVersion.VERSION_1_8
17+
java.sourceCompatibility = JavaVersion.VERSION_17
1718

18-
java.targetCompatibility = JavaVersion.VERSION_1_8
19+
java.targetCompatibility = JavaVersion.VERSION_17
1920

2021
dependencies {
2122
implementation(libs.sample.springBoot.starterSecurity)
@@ -26,6 +27,7 @@ dependencies {
2627
implementation(libs.sample.springBoot.starter)
2728
implementation(libs.sample.springBoot.kotlinReflect)
2829
implementation(libs.sample.springBoot.starterJdbc)
30+
implementation(libs.sentrySpringBootJakarta)
2931
implementation(kotlin(Samples.SpringBoot.kotlinStdLib, KotlinCompilerVersion.VERSION))
3032

3133
runtimeOnly(libs.sample.springBoot.hsqldb)
@@ -37,9 +39,9 @@ dependencies {
3739
tasks.withType<Test>().configureEach { useJUnitPlatform() }
3840

3941
tasks.withType<KotlinCompile>().configureEach {
40-
kotlinOptions {
42+
compilerOptions {
4143
freeCompilerArgs = listOf("-Xjsr305=strict")
42-
jvmTarget = JavaVersion.VERSION_1_8.toString()
44+
jvmTarget.set(JVM_17)
4345
}
4446
}
4547

examples/multi-module-sample/spring-boot-in-multi-module-sample2/src/main/java/io/sentry/samples/spring/boot/CustomJob.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.sentry.samples.spring.boot;
22

3-
import io.sentry.spring.tracing.SentryTransaction;
3+
import io.sentry.spring.jakarta.tracing.SentryTransaction;
44
import org.slf4j.Logger;
55
import org.slf4j.LoggerFactory;
66
import org.springframework.scheduling.annotation.Scheduled;

examples/multi-module-sample/spring-boot-in-multi-module-sample2/src/main/java/io/sentry/samples/spring/boot/PersonService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.sentry.ISpan;
44
import io.sentry.Sentry;
5-
import io.sentry.spring.tracing.SentrySpan;
5+
import io.sentry.spring.jakarta.tracing.SentrySpan;
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
88
import org.springframework.jdbc.core.JdbcTemplate;

examples/multi-module-sample/spring-boot-in-multi-module-sample2/src/main/java/io/sentry/samples/spring/boot/SecurityConfiguration.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,32 @@
44
import org.springframework.context.annotation.Bean;
55
import org.springframework.context.annotation.Configuration;
66
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
7+
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
78
import org.springframework.security.core.userdetails.User;
89
import org.springframework.security.core.userdetails.UserDetails;
910
import org.springframework.security.core.userdetails.UserDetailsService;
1011
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
1112
import org.springframework.security.crypto.password.PasswordEncoder;
1213
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
14+
import org.springframework.security.web.SecurityFilterChain;
15+
16+
import static org.springframework.security.config.Customizer.withDefaults;
1317

1418
@Configuration
15-
@SuppressWarnings("deprecation") // WebSecurityConfigurerAdapter has been deprecated
16-
public class SecurityConfiguration
17-
extends org.springframework.security.config.annotation.web.configuration
18-
.WebSecurityConfigurerAdapter {
19+
public class SecurityConfiguration {
1920

20-
// this API is meant to be consumed by non-browser clients thus the CSRF protection is not needed.
21-
@Override
21+
@Bean
2222
@SuppressWarnings("lgtm[java/spring-disabled-csrf-protection]")
23-
protected void configure(final @NotNull HttpSecurity http) throws Exception {
24-
http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic();
23+
public @NotNull SecurityFilterChain securityFilterChain(final @NotNull HttpSecurity http)
24+
throws Exception {
25+
return http
26+
.csrf(AbstractHttpConfigurer::disable)
27+
.authorizeHttpRequests(auth -> auth.anyRequest().authenticated())
28+
.httpBasic(withDefaults())
29+
.build();
2530
}
2631

2732
@Bean
28-
@Override
2933
public @NotNull UserDetailsService userDetailsService() {
3034
final PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
3135

0 commit comments

Comments
 (0)