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.