Awesome!  That worked beautifully.  Thanks Xavier.

On Mon Jan 05 2015 at 1:15:37 PM Xavier Ducrohet <x...@android.com> wrote:

> fooDebugCompile works but you have to declare it first. This is a timing
> issue that we ran into, though I'm hopeful this can be removed in the
> future.
>
> configurations {
>   fooDebugCompile
> }
>
> android {
>   productFlavors {
>     foo {}
>   }
> }
>
> dependencies {
>   fooDebugCompile ...
> }
>
> On Sun, Dec 28, 2014 at 8:52 PM, Justin Hong <jkaih...@gmail.com> wrote:
>
>> 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 <mazur...@gmail.com> 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 <mazur...@gmail.com> 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 adt-dev+u...@googlegroups.com.
>>>> 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 adt-dev+unsubscr...@googlegroups.com.
>>
> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> 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 a topic in the
> Google Groups "adt-dev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/adt-dev/E2H_rNyO6-o/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> adt-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 adt-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to