bugsnag / bugsnag-java

BugSnag error reporting for Java.
https://www.bugsnag.com/platforms/java/
MIT License
56 stars 34 forks source link

Fix minimum JVM requirement #197

Closed lemnik closed 1 year ago

lemnik commented 1 year ago

Goal

Enable users of Java 8 to build their projects using Gradle (which checks the required JVM version by using the Gradle .module file).

Note Don't be intimidated by the number of files in this PR. Most of the changes are simply moving files to arrange the sources into the new sourceSet structure.

Design

Merged the bugsnag-spring and bugsnag-spring:javax projects back together in favor of using a split sourceSet system with Gradle managed tool chains. This allows us to define a structure similar to that used by Kotlin-Multiplatform:

A Gradle configuration is defined for each of these sourceSets in order to avoid the default behaviors of Gradles intrinsic Java sourceSet configurations and give us finer control over the exact nature of our classpaths (where both javax and jakarta include common).

Changeset

Testing

The existing tests pass (although I had to update our standard logback.xml configuration, which included an option that was removed a while back).

Manually tested publishing locally to check the module version metadata was correct: image