Skip to content

Commit 41c3070

Browse files
authored
fix(matrix): Use new URL to fetch AGP<->Gradle compatibility table (#1055)
* fix(matrix): Use new URL to fetch AGP<->Gradle compatibility table * use patch version for Gradle 9+ * Fix formatting * Switch from dev.gradleplugins to org.gradle.experimental for gradleApi * switch to standard groovy gradle plugin * Update spring boot samples and bump kotlin to 2.1.0 * Fix tests * Fix test discoverability and use different assert * Fix kotlin version in test * Make kotlin version dynamic in test matrix * mention kotlin version in job name * Spotless * Unignore firebase test
1 parent c9d4250 commit 41c3070

27 files changed

Lines changed: 128 additions & 96 deletions

File tree

.github/workflows/test-matrix-agp-gradle.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,11 @@ jobs:
4848
fail-fast: false
4949
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
5050

51-
name: Test Matrix - AGP ${{ matrix.agp }} - Gradle ${{ matrix.gradle }} - Java ${{ matrix.java }} - Groovy ${{ matrix.groovy }}
51+
name: Test Matrix - AGP ${{ matrix.agp }} - Gradle ${{ matrix.gradle }} - Java ${{ matrix.java }} - Kotlin ${{ matrix.kotlin }}
5252
env:
5353
VERSION_AGP: ${{ matrix.agp }}
5454
VERSION_GROOVY: ${{ matrix.groovy }}
55+
VERSION_KOTLIN: ${{ matrix.kotlin }}
5556
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
5657

5758
steps:

build.gradle.kts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
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") }
87
}
98
}
109

1110
plugins {
12-
alias(libs.plugins.kotlin) apply false
13-
alias(libs.plugins.kotlinAndroid) apply false
14-
alias(libs.plugins.kapt) apply false
11+
alias(libs.plugins.kotlin) version BuildPluginsVersion.KOTLIN apply false
12+
alias(libs.plugins.kotlinAndroid) version BuildPluginsVersion.KOTLIN apply false
13+
alias(libs.plugins.kapt) version BuildPluginsVersion.KOTLIN apply false
1514
alias(libs.plugins.ksp) apply false
1615
alias(libs.plugins.composeCompiler) apply false
1716
alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP apply false

buildSrc/src/main/java/Dependencies.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import org.gradle.util.internal.VersionNumber
2-
31
object BuildPluginsVersion {
42
val AGP = System.getenv("VERSION_AGP") ?: "8.10.1"
5-
val GROOVY_REDISTRIBUTED = System.getenv("VERSION_GROOVY") ?: "1.7.1"
3+
val KOTLIN = System.getenv("VERSION_KOTLIN") ?: "1.8.20"
64
}
75

86
object LibsVersion {

examples/android-instrumentation-sample/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
22

33
plugins {
44
alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP
5-
alias(libs.plugins.kotlinAndroid)
5+
alias(libs.plugins.kotlinAndroid) version BuildPluginsVersion.KOTLIN
66
alias(libs.plugins.ksp)
77
id("io.sentry.android.gradle")
88
id("io.sentry.kotlin.compiler.gradle")

examples/android-room-lib/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
alias(libs.plugins.androidLibrary) version BuildPluginsVersion.AGP
3-
alias(libs.plugins.kotlinAndroid)
3+
alias(libs.plugins.kotlinAndroid) version BuildPluginsVersion.KOTLIN
44
}
55

66
android {

examples/multi-module-sample/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22

33
plugins {
4-
alias(libs.plugins.kotlin)
4+
alias(libs.plugins.kotlin) version BuildPluginsVersion.KOTLIN
55
id("io.sentry.jvm.gradle")
66
}
77

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
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 {
56
alias(libs.plugins.springBoot)
67
alias(libs.plugins.springDependencyManagement)
7-
alias(libs.plugins.kotlin)
8-
alias(libs.plugins.kotlinSpring)
8+
alias(libs.plugins.kotlin) version BuildPluginsVersion.KOTLIN
9+
alias(libs.plugins.kotlinSpring) version BuildPluginsVersion.KOTLIN
910
id("io.sentry.jvm.gradle")
1011
}
1112

1213
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

0 commit comments

Comments
 (0)