-
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
uplift part 1: remove javax support, update java to v17 and update gradle to v8.10.2 #233
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
bugsnag-spring/src/main/java/com/bugsnag/BugsnagImportSelector.java
Outdated
Show resolved
Hide resolved
bugsnag-spring/src/main/java/com/bugsnag/ScheduledTaskConfiguration.java
Show resolved
Hide resolved
lemnik
left a comment
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.
LGTM 🚀
This pull request simplifies the
bugsnag-springmodule 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.gradlefile 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 forjavaxandjakartaare removed, and dependencies are consolidated. [1] [2]javaxsubproject (bugsnag-spring/javax/build.gradleand 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:
BugsnagImportSelectoris 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:
ScheduledTaskConfigurationclass is enhanced to better handle error handlers for scheduled tasks, including support for chaining a dedicatedErrorHandlerbean if present, and improved compatibility with Spring Boot 3'sTaskSchedulerRouter. [1] [2]