Skip to content
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

[Discussion] Make plugin project isolation compatible #384

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

wbonnefond
Copy link

I want to use this PR has a starting point to discuss making this plugin Project Isolation compatible and solving #302.

I believe what I have right now to be the minimal amount of changes needed to support project isolation. Before I commit to further work on this, I wanted to get some feedback on the approach here.

Main changes:

  • DoctorPlugin is now broken up into 3 plugins: a settings plugin DoctorSettingsPlugin, a root project plugin DoctorPlugin, and a module plugin DoctorChildModulePlugin
  • com.osacky.doctor now points to the settings plugin class and must be applied in settings.gradle
  • The extension is configured in settings.gradle and shared to all project following this pattern
  • Child modules use a build service to register back to the root project if the Android app plugin gets applied in order to support the allowBuildingAllAndroidAppsSimultaneously settings. Though I'm not sure how useful this actually is

From my testing on our large 900+ module project it seems to work as before and no longer violates project isolation. I have not tested if there are any differences in performance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant