Make plugin compatible with isolated projects#329
Make plugin compatible with isolated projects#329eduardbosch wants to merge 3 commits intojraska:masterfrom
Conversation
- Create a settings plugin to gather projects information without cross-referencing projects. - Add a Service to collect the information across projects (DependencyCollectorService). - Update project plugin to avoid cross-project references. Signed-off-by: Eduard Bosch <eduard.bertran@jobandtalent.com>
This'll help reusing the same version for a later settings plugin. Signed-off-by: Eduard Bosch <eduard.bertran@jobandtalent.com>
Signed-off-by: Eduard Bosch <eduard.bertran@jobandtalent.com>
|
Hey @jraska, did you had time to review this PR? |
|
Hey, thanks for the PR. Could you please point me to Gradle docs what are isolated projects? I want to understand if this is something which did break or it is to support a new functionality? Seeing this Suggests its a breaking change as well so unless the plugin's existing functionality broke, I would recommend implementing it as a separate plugin or even fork as I don't want to add a new functionality to the project. Thanks! |
|
Checking the https://docs.gradle.org/current/userguide/isolated_projects.html#current_limitations I don't want to invest in this plugin to provide support in a cost of optimizing for
I may consider this once such feature becomes a mainstream, but for now I want to keep any large refactors to be considered once necessary from the reason of maintainabiity of this project in the long run, accepting the limitations. Thanks for the efforts you put into the PR though! |
|
I completely understand. I'll keep it as a frok for now. Thanks! |
Hi,
I'm trying to make one of my projects at Job&Talent fully compatible with Isolated Projects. I've updated a few plugins and this was the latest one.
It was my first time working directly with Gradle Plugins, so maybe some things may not be perfect, but I think the commit is quite clean to understand all the changes.
In summary, the required changes to make this plugin compatible with Isolated Projects was:
Let me know what do you think.
The tests pass with no assertion logic changes, so everything should be OK. The only changes required in tests were to ensure the settings plugin is applied and to update some assertions now that things can run in parallel and the order of tasks execution is not guaranteed.
Thanks for this great plugin 🙌