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.
