So this is probably just me being a dick for no real reason buuuut:
Currently this Plugin adds an ApplyPluginAction for each Project/module. Each ApplyPluginAction does a check if its running on the "correct" module/Plugin. This results in O(n) ApplyPluginActions which executions scales as O (n^2)
This should be easily replaceable with the following axiom: Apply only one ApplyPluginAction, that has a HashSet containing all projects to run on. Now you have 1 ApplyPluginAction whose exection scales as O(nlogn)
These things usually get very obnoxius if you get around number like 10.000, which as of gradle projects requiring module-info that is probably not a pressing issue, but in my lifetime as a developer i had to apply this specific fix so many times....
Yada yada can provide a prototype when the other stuff is merged, is probably just me being picky for no good reason.
So this is probably just me being a dick for no real reason buuuut:
Currently this Plugin adds an ApplyPluginAction for each Project/module. Each ApplyPluginAction does a check if its running on the "correct" module/Plugin. This results in O(n) ApplyPluginActions which executions scales as O (n^2)
This should be easily replaceable with the following axiom: Apply only one ApplyPluginAction, that has a HashSet containing all projects to run on. Now you have 1 ApplyPluginAction whose exection scales as O(nlogn)
These things usually get very obnoxius if you get around number like 10.000, which as of gradle projects requiring module-info that is probably not a pressing issue, but in my lifetime as a developer i had to apply this specific fix so many times....
Yada yada can provide a prototype when the other stuff is merged, is probably just me being picky for no good reason.