-
Notifications
You must be signed in to change notification settings - Fork 33
uplift part 1: remove javax support, update java to v17 and update gradle to v8.10.2 #233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
Conversation
47eec01
to
31a4bfd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request removes support for Java 8 and the javax.* Spring API in favor of Java 17 and Jakarta Spring as the default. The changes consolidate the build configuration, simplify the codebase by removing version detection logic, and improve scheduled task error handling compatibility with Spring Boot 3.
- Removes Java 8 and javax.* Spring support, making Java 17 and Jakarta Spring the default
- Simplifies build configuration by removing dual source sets and dependencies
- Improves scheduled task error handling for better Spring Boot 3 compatibility
Reviewed Changes
Copilot reviewed 78 out of 81 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
settings.gradle | Removes javax servlet example from included projects |
scripts/build-test-repository.sh | Updates repository build script with improved error handling |
release.gradle | Modernizes Maven publishing configuration with Java 17 support |
gradle/wrapper/gradle-wrapper.properties | Updates Gradle wrapper to version 8.10.2 |
features/project_package.feature | Updates expected stack trace method names for Spring Boot 3 |
bugsnag-spring/build.gradle | Consolidates build configuration to Jakarta/Java 17 only |
bugsnag-spring/src/common/java/com/bugsnag/ScheduledTaskConfiguration.java | Enhances scheduled task error handling with Spring Boot 3 compatibility |
bugsnag-spring/src/common/java/com/bugsnag/BugsnagImportSelector.java | Removes version detection logic, always uses Jakarta classes |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
...azerunnerspringboot3/src/main/java/com/bugsnag/mazerunnerspringboot/ScheduledTaskConfig.java
Show resolved
Hide resolved
...azerunnerspringboot3/src/main/java/com/bugsnag/mazerunnerspringboot/ScheduledTaskConfig.java
Show resolved
Hide resolved
bugsnag-spring/src/common/java/com/bugsnag/ScheduledTaskConfiguration.java
Outdated
Show resolved
Hide resolved
|
||
dependencies { | ||
implementation("ch.qos.logback:logback-classic:1.2.3") | ||
implementation("ch.qos.logback:logback-classic:1.5.18") |
Copilot
AI
Oct 17, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The janino dependency is added without explanation. Consider adding a comment explaining why this conditional compilation library is needed.
implementation("ch.qos.logback:logback-classic:1.5.18") | |
implementation("ch.qos.logback:logback-classic:1.5.18") | |
// Janino is required by logback-classic for conditional processing in logback configuration files (e.g., <if> statements in logback.xml) |
Copilot uses AI. Check for mistakes.
This pull request simplifies the
bugsnag-spring
module by removing support for Java 8 and the legacy javax.* Spring APIs, making Java 17 and Jakarta Spring the default. The build configuration and test setup are streamlined, and the code is updated to remove conditional logic for multiple Spring/Java versions. Additionally, the scheduled task error handling logic is improved for compatibility with Spring Boot 3.Build and Dependency Configuration Simplification:
bugsnag-spring/build.gradle
file is refactored to remove all Java 8 and javax.* Spring dependencies and configurations, making Java 17 and Jakarta Spring the default. Source sets and custom configurations forjavax
andjakarta
are removed, and dependencies are consolidated. [1] [2]javax
subproject (bugsnag-spring/javax/build.gradle
and related test resources) is deleted, fully dropping support for Java 8 and legacy javax.* APIs. [1] [2]CI Pipeline Updates:
.buildkite/pipeline.yml
) is updated to remove Java 8 Mazerunner test batches, reflecting the dropped support for Java 8. Only Java 17 tests remain.Codebase Cleanup and API Consolidation:
BugsnagImportSelector
is simplified to always use Jakarta Spring classes, removing runtime checks for Spring/Java version and legacy javax.* configuration. [1] [2]Scheduled Task Error Handling Improvements:
ScheduledTaskConfiguration
class is enhanced to better handle error handlers for scheduled tasks, including support for chaining a dedicatedErrorHandler
bean if present, and improved compatibility with Spring Boot 3'sTaskSchedulerRouter
. [1] [2]