Investigate using bytecode instrumentation instead of compiler plugin
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- kotlin
- Domain
- build-system
Research direction
Start by reviewing the linked compiler-plugin incompatibility issues and the current Composable-tagging approach in this repository. Investigate whether the bytecode produced by the Compose compiler can be instrumented reliably, including the stated limitation around KMP. Done means documenting feasibility, trade-offs, and whether this approach should replace the compiler plugin.
Written by the indexing model from the issue text.
Description
Description
The Kotlin compiler plugin proved to be very unstable and painful to maintain. Across the past few months we've had several incompatibility issues (mostly due to the compiler plugin API changing unexpectedly in a breaking way without any notice):
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/955
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/941
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/864
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/868
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/856
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/784
- https://github.com/getsentry/sentry-android-gradle-plugin/issues/698
We should investigate feasibility of tagging Composables through bytecode manipulation. On paper this should work just fine, but it's worth trying it out first. Potential downsides:
- This ain't going to work for KMP (but we don't support it now either)
- More complicated logic since we'd have to operate on what bytecode the compose compiler plugin produces
- Dominant language
- Kotlin
- Stars
- 184
- Forks
- 41
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 20
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/sentry-android-gradle-plugin
-
Android Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
getsentry/sentry-android-gradle-plugin#1369 · 1 comment ·
Maintainers usually reply within 1 day
-
Android good first issue Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getsentry/sentry-android-gradle-plugin#1266 · 1 comment ·
Maintainers usually reply within 1 day
-
Android Feature Stale Waiting for: Community
Difficulty 4/5 3-5 days Newbie friendliness 45/100
getsentry/sentry-android-gradle-plugin#1406 · 3 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Task
Difficulty 4/5 3-5 days Newbie friendliness 45/100
getsentry/sentry-android-gradle-plugin#1354 · 1 comment ·
Maintainers usually reply within 1 day
-
AutoInstallState uses a process-global mutable singleton (project-isolation violation)May be free again @runningcode claimed this 62 days ago, and no pull request is open. OpenBug
getsentry/sentry-android-gradle-plugin#1351 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in getsentry/sentry-android-gradle-plugin
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SimonHalvdansson/Harmonic-HN#363 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ionic-team/capacitor-file-transfer#83 · 1 comment ·
-
Meta request
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
keiyoushi/extensions-source#19500 ·
Maintainers usually reply within 1 day
-
go 🏃 testing 🧪
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
valkey-io/valkey-glide#7239 ·
Maintainers usually reply within 2 days