On 18 Jan 2014, at 10:36 am, Roman Mazur <[email protected]> wrote:

> I wonder what are the dev team plans as for further development of build 
> variants.
> Currently they are completely unrelated to Gradle configurations (I mean 
> dependency configurations), yet I have a feeling these are pretty similar 
> concepts.
> So don't you plan to make them be the same thing?

I can't speak on behalf of the Android team, but I can give some context on 
this from the Gradle side.

Variants and configurations aren't the same thing. Configurations in their 
current form, at an abstract level, represent a particular input (dependencies) 
/ output (artifacts) channel for the project. There's a relationship between 
variants in so far that variants may be backed by one or more configurations, 
which they actually already are in the current Android plugin implementation. 
This is a more natural arrangement. A variant is much more than inputs/outputs 
so it makes sense to conceptually make a configuration part of its composition 
(i.e. has-a), opposed to trying to be a configuration (i.e. is-a).

Moreover, the best Gradle plugins use _concrete_ modelling. The Android plugin 
does this well (i.e. it models the project the way developers think of it, not 
as the infrastructure has to think of it). Gradle configurations are very 
abstract and don't represent real things. Using such constructs at the 
modelling level always leads to convolution and bad usability.

In short, I don't think there is anything to gain in trying to do what you are 
proposing and there is a lot to lose.  

-- 
Luke Daley
Principal Engineer, Gradleware 
http://gradleware.com

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to