Introduce creation of parameterized tooling models This commit introduces the possibility of passing parameters through the Tooling API to the model builders in order to create models based on information received by the client.
This feature allows plugins to register a model builder for a given model and parameter and then build models based on the received parameter. It is preferable to passing gradle properties for two reasons: first convenience and second because parameters can be created inside the BuildAction.
A new interface ToolingParameterizedModelBuilder was created and should be extended by parameterized builders. New methods were added to the BuildController in order to build models with parameters. In order to keep cross version compatibility, new protocol interfaces were created.