More accurate spotless config
:scroll: Description
This PR ensures that spotless is actually running over all our files. It wasn't before and you can see this generated a massive diff. There are still a number of exceptions that were suppressed in order to save time going through the hundreds of them.
In other news, this moves the spotless logic to its own convention plugin and runs over each source set of each project separately. This means that most of the tasks should be cached independently.
#skip-changelog
:bulb: Motivation and Context
:green_heart: How did you test it?
:pencil: Checklist
- [ ] I added tests to verify the changes.
- [ ] No new PII added or SDK only sends newly added PII if
sendDefaultPIIis enabled. - [ ] I updated the docs if needed.
- [ ] I updated the wizard if needed.
- [ ] Review from the native team if needed.
- [ ] No breaking change or entry added to the changelog.
- [ ] No breaking change for hybrid SDKs or communicated to hybrid SDKs.
:crystal_ball: Next steps
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [x] sentry/src/main/java/io/sentry/transport/RateLimiter.java
Performance metrics :rocket:
| Plain | With Sentry | Diff | |
|---|---|---|---|
| Startup time | 409.57 ms | 450.60 ms | 41.03 ms |
| Size | 1.58 MiB | 2.09 MiB | 518.81 KiB |
Previous results on branch: no/spotless
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 266364cb6af2c748f7fcbb3f9b029ee58cdce134 | 387.39 ms | 420.94 ms | 33.55 ms |
| 6c80c4123df5074081c1e65e614ce0671aa36ccc | 453.08 ms | 472.14 ms | 19.06 ms |
| 3aa20d213245de8cfd6f349a2eb05d11c352954f | 429.21 ms | 513.43 ms | 84.21 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 266364cb6af2c748f7fcbb3f9b029ee58cdce134 | 1.58 MiB | 2.09 MiB | 518.66 KiB |
| 6c80c4123df5074081c1e65e614ce0671aa36ccc | 1.58 MiB | 2.09 MiB | 518.71 KiB |
| 3aa20d213245de8cfd6f349a2eb05d11c352954f | 1.58 MiB | 2.09 MiB | 518.66 KiB |
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [x] sentry/src/main/java/io/sentry/transport/RateLimiter.java
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] sentry/src/main/java/io/sentry/transport/RateLimiter.java
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] sentry/src/main/java/io/sentry/transport/RateLimiter.java
🚨 Detected changes in high risk code 🚨
High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
- [ ] sentry/src/main/java/io/sentry/transport/RateLimiter.java