Xavier,
Any word on fooDebugCompile coming into being? I tried recently with the
2.2.1 Gradle version and found that I couldn't do it.
Thanks,
- Justin
On Saturday, January 18, 2014 12:47:13 PM UTC-6, Xavier Ducrohet wrote:
>
> Luke is confident, because he's one of the core Gradle developer :)
>
> My team is working with the Gradle team to make the flavor support in
> library. I'm not sure how it's going to look like at the publication level.
> Obviously, Gradle will need to be able to support publishing different
> variants. It's not something that can be mapped easily to existing
> dependency management (for maven we'd have to allow making each variant a
> different artifact) but internally (when doing inter-project dependencies)
> we can leverage a more complex system.
>
> While I'm not sure yet how it'll be done exactly internally, here's what I
> want it to look like for a user.
>
> dependencies {
> compile projet(':mylib')
> }
>
> that's it. If both publisher and consumer declares the same variant,
> nothing else needs to happen. Variant FooDebug of the project should
> automatically consume variant FooDebug of the library.
>
> Now if the library and app variants don't match, we can provide a way
> through the DSL to provide a custom mapping. Simple mapping like the
> library only having debug/release can be easily mapped (any debug variant
> of the app use the debug library). In other case you'll simple provide a
> custom mapping.
>
> If you publish the library to an artifact repository you'll probably have
> to go through different artifacts, and do
>
> dependencies {
> fooDebugCompile 'com.myapp:mylib-foo-debug:1.0'
> barDebugCompile 'com.myapp:mylib-bar-debug:1.0'
> }
>
> Note that currently fooDebugCompile doesn't exist. We only have
> "fooCompile" or "debugCompile", but we are planning to add this.
>
>
>
> On Sat, Jan 18, 2014 at 6:46 AM, Roman Mazur <[email protected]
> <javascript:>> wrote:
>
>> Well, you sound rather confident :)
>> Yet, as far as I know Android library plugin will soon make it possible
>> to define flavours.
>> How will we specify dependency on some library flavour?
>> Will library variant produce a separate configuration which will be
>> specified in a usual way in dependency description?
>>
>> On Saturday, 18 January 2014 14:06:03 UTC+2, Luke Daley wrote:
>>
>>>
>>> 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] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> --
> Xavier Ducrohet
> Android SDK Tech Lead
> Google Inc.
> http://developer.android.com | http://tools.android.com
>
> Please do not send me questions directly. Thanks!
>
--
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/d/optout.