feat(multi-module): Introduce SentryRootPlugin with App and Lib subplugins#858
feat(multi-module): Introduce SentryRootPlugin with App and Lib subplugins#858
Conversation
| [*] | ||
| indent_style = space | ||
| indent_size = 4 | ||
| indent_size = 2 |
There was a problem hiding this comment.
This was a leftover from ktlint -> ktfmt migration
|
| include(":examples:android-gradle-kts") | ||
|
|
||
| include(":examples:android-guardsquare-proguard") | ||
| // include(":examples:android-guardsquare-proguard") |
There was a problem hiding this comment.
For some reason this sample doesn't work but I will figure it out later (or maybe drop the sample altogether, as it's problematic to support it given there's no plans to support AGP 8+ from the proguard side)
There was a problem hiding this comment.
I think we should drop this since sample as they don’t support AGP 8+
|
|
||
| fun apply(buildEvents: BuildEventListenerRegistryInternal) = | ||
| project.run { | ||
| subprojects { p -> |
There was a problem hiding this comment.
do we know if this is isolated projects compatible?
see build logic constraints here: https://docs.gradle.org/current/userguide/isolated_projects.html#build_logic_constraints
There was a problem hiding this comment.
Gradle 8.8+ introduces the isolated project callback where you can call gradle.lifecycle.beforeProject { from settings.gradle to access projects in a limited way.
https://docs.gradle.org/current/userguide/isolated_projects.html#gradle_8_8
#skip-changelog
📜 Description
io.sentry.gradleplugin that has to be applied on the root project level. The plugin then:subprojectsand applies the respective subplugins depending on what plugins are currently applied to the gradle projectio.sentry.android.gradleplugin is in place and throws as they are incompatible and can't be used togetherio.sentry.android.gradleand print a message to switch over to the new root plugin💡 Motivation and Context
Closes #800
💚 How did you test it?
So far just manually, will add/convert existing tests later
📝 Checklist
🔮 Next steps