On 26/07/2013, at 8:24 AM, kelemen <attila.keleme...@gmail.com> wrote:

> Hi Alex,
> 
> I'm the developer of the NetBeans integration of Gradle and pleased to hear
> that you want to work on this part of the Tooling API.
> 
> May I be selfish enough to ask you to consider my needs as well? :) I have
> already reported two RFE for improving the model loading:
> 
> 1.
> http://forums.gradle.org/gradle/topics/tooling_api_fetch_multiple_models_in_a_single_method_call
> 2.
> http://forums.gradle.org/gradle/topics/tooling_api_let_us_know_if_multiple_projects_got_evaluated
> 
> I will summarize those two RFEs:
> 
> 1. Allow loading multiple models in a single call (similar as you have
> recommended) but also allow to define "fall-back models". That is return
> another model if the one requested is not available. There is no use for
> this currently but could make things easier if a model is to be made
> obsolete (replaced by other models).
> 
> 2. Evaluating a Gradle project will likely cause other Gradle projects to be
> evaluated as well. So, instead of leting evaluated projects go to waste. Let
> the client code request what other projects got evaluated and allow
> retrieving models from those projects as well. This is advantageous if you
> do not wish to load all the projects of a multi-project build and should
> work well with the configuration on deman feature of Gradle (when/if it will
> be implemented for model loading as well).
> 
> Although these things are not vital (although advantageous) for simple J2SE
> projects. These changes would improve performance considerably when
> NBAndroid plugin is installed as well. Currently, installing NBAndroid will
> slow down the loading of each project by magnitudes, simply because I have
> to determine for each subproject if it has an AndroidProject as well.

I think the approach I've proposed in another email should help solve these 
problems. The idea is that you provide the tooling API with an action which can 
be executed in the Gradle process to build whatever results you need, based on 
whatever logic you have. The action will run against some API through which you 
can ask things like: which projects are available, which models are available 
for a given project, and give me this model from this project.


--
Adam Murdoch
Gradle Co-founder
http://www.gradle.org
VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
http://www.gradleware.com



Reply via email to