Joe,
the only workaround I found is the one I described in this thread earlier.
The bug can still be reproduced with gradle-android-plugin v0.8.3, and
19.0.1 build tools.
On Wednesday, February 26, 2014 1:28:02 AM UTC+3, Joe Kueser wrote:
>
> Anton,
>
> Were you ever able to find a workaround for this? I'm having a similar
> problem. In my case the colors.xml file in main is always being used, while
> the one in my flavor is never being used. Kind of a bummer. Any work-around
> I can come up with is going to be a lot of work.
>
> Thanks.
>
> Joe
>
>
>
> On Thursday, January 30, 2014 2:08:36 AM UTC-7, Anton Rutkevich wrote:
>>
>> gradle-android-plugin v0.8.0, problem is still here ..
>>
>> The problem is that with the current ugly fix of the bug I cannot
>> override aar's resources, as they are at the same level as the my-lib's
>> resources (
>>
>> On Sunday, January 5, 2014 2:15:36 PM UTC+3, Anton Rutkevich wrote:
>>>
>>> Android plugin v0.7.3, build tools v19.0.1.
>>> Still can reproduce the problem:
>>> 1) delete all 'build' folders
>>> 2) ./gradlew clean assembleDebug
>>> 3) problem appears
>>>
>>> After first run ../build/res/release/values/values.xml contains entries
>>> from project only. There are no entries from aar dependencies in it.
>>>
>>> Second run of the same ./gradlew command completes successfully.
>>> MergeResources task is not up to date on second run:
>>>
>>> :my-lib:mergeReleaseResources
>>>> Executing task ':my-lib:mergeReleaseResources' (up-to-date check took
>>>> 0.076 secs) due to:
>>>> Input file
>>>> /Users/me/sources/myproject/my-lib/build/exploded-bundles/ComActionbarsherlockActionbarsherlock440.aar/res/drawable-hdpi/abs__btn_cab_done_focused_holo_light.9.png
>>>>
>>>> has been added.
>>>> Input file
>>>> /Users/me/sources/myproject/my-lib/build/exploded-bundles/ComActionbarsherlockActionbarsherlock440.aar/res/layout/abs__activity_chooser_view.xml
>>>>
>>>> has been added.
>>>> Input file
>>>> /Users/me/sources/myproject/my-lib/build/exploded-bundles/ComActionbarsherlockActionbarsherlock440.aar/res/layout/sherlock_spinner_item.xml
>>>>
>>>> has been added.
>>>> Changed Resource sets: full task run!
>>>
>>>
>>> On Monday, December 23, 2013 9:55:30 PM UTC+3, Anton Rutkevich wrote:
>>>>
>>>> So, I have implemented the option.
>>>>
>>>> At first glance everything seems ok.
>>>>
>>>> Main source set:
>>>> *styles.xml*
>>>>
>>>>> ...
>>>>> <style name="button_text_style" parent="button_text_style_base"/>
>>>>> <style name="button_text_style_base" >
>>>>> <item name="android:textSize">@dimen/btn_txt_size</item>
>>>>> <item name="android:textColor">@color/btn_txt_color</item>
>>>>> <item name="android:textStyle">*bold*</item>
>>>>> </style>
>>>>> …
>>>>
>>>>
>>>> Some flavor's source set:
>>>> *styles.xml*
>>>>
>>>>> ...
>>>>> <style name="button_text_style" parent="button_text_style_base">
>>>>> <item name="android:textStyle">*italic*</item>
>>>>> </style>
>>>>> …
>>>>
>>>> .
>>>>
>>>> So, I obtain
>>>>
>>>> *styles.xml*
>>>>
>>>>> ...
>>>>> <style name="button_text_style" parent="button_text_style_base">
>>>>> <item name="android:textStyle">*italic*</item>
>>>>> </style>
>>>>> <style name="button_text_style_base">
>>>>> <item name="android:textSize">@dimen/btn_txt_size</item>
>>>>> <item name="android:textColor">@color/btn_txt_color</item>
>>>>> <item name="android:textStyle">*bold*</item>
>>>>> </style>
>>>>> …
>>>>
>>>>
>>>> which is equivalent to
>>>>
>>>>> ...
>>>>> <style name="button_text_style">
>>>>> <item name="android:textSize">@dimen/btn_txt_size</item>
>>>>> <item name="android:textColor">@color/btn_txt_color</item>
>>>>> <item name="android:textStyle">*italic*</item>
>>>>> </style>
>>>>> ...
>>>>
>>>> .
>>>> That's what I need.
>>>>
>>>>
>>>> BUT!
>>>>
>>>> When I try to build it, I get the error saying that resources from
>>>> ActionBarSherlock's could not be found (error message attached).
>>>> The error occurs after several clean launches with new styles (maybe
>>>> some gradle cache problems?).
>>>> After error occurs, there are two ways to fix it:
>>>>
>>>> 1. revert styles to the old way they were dfeclared (without
>>>> '_base' styles)
>>>> 2. add 'res' folders of all AARs to the main source set like this:
>>>>
>>>>
>>>>
>>>>> android {
>>>>> ...
>>>>> // Add resources of all aar dependencies to the main sourceSet
>>>>> to workaround bug where aar resources could not be found
>>>>> project.configurations.compile.allDependencies.each { dep ->
>>>>> if (project.configurations.compile.findAll {
>>>>> it.path.contains(dep.name) && it.path.contains('.aar')}.size() > 0) {
>>>>> def groupName = dep.group.split('\\.').collect {
>>>>> it.capitalize() }.join()
>>>>> def artifactName = dep.name.capitalize()
>>>>> def versionName = dep.version.replace('.',
>>>>> '').replace('-', '')
>>>>> def dependencyResourcesPath =
>>>>> "$buildDir/exploded-bundles/${groupName}${artifactName}${versionName}.aar/res"
>>>>> // Fix for bug where resources for aar could not be
>>>>> found
>>>>> android.sourceSets {
>>>>> main.res.srcDir "$dependencyResourcesPath"
>>>>> }
>>>>> }
>>>>> }
>>>>> ...
>>>>> }
>>>>
>>>>
>>>> I'm using the second solution, but it looks like a terrible hack.
>>>>
>>>> Is this a known problem?
>>>>
>>>>
>>>> On Thursday, December 12, 2013 9:08:28 PM UTC+3, Anton Rutkevich wrote:
>>>>>
>>>>> Thanks for response, Xavier!
>>>>>
>>>>> This option sounds good to me. I'll try to implement it.
>>>>>
>>>>> On Thursday, December 12, 2013 7:45:07 PM UTC+3, Xavier Ducrohet wrote:
>>>>>>
>>>>>> No it's not possible to do exactly that.
>>>>>>
>>>>>> However I think you could create a base style, that contains the
>>>>>> default values, then in the main source set, you have a style extending
>>>>>> it
>>>>>> (but likely doing nothing). In the flavor you can then extend it and
>>>>>> override what you need.
>>>>>>
>>>>>> This would have to be tested though, but I think this could work.
>>>>>>
>>>>>>
>>>>>> On Thu, Dec 12, 2013 at 6:28 AM, Anton Rutkevich
>>>>>> <[email protected]>wrote:
>>>>>>
>>>>>>> Hi everyone,
>>>>>>>
>>>>>>> is it possible to merge resources with overriding?
>>>>>>> Given:
>>>>>>>
>>>>>>> Main source set:
>>>>>>> *styles.xml*
>>>>>>>
>>>>>>>> ...
>>>>>>>> <style name="button_text_style">
>>>>>>>> <item name="android:textSize">@dimen/btn_txt_size</item>
>>>>>>>> <item name="android:textColor">@color/btn_txt_color</item>
>>>>>>>> <item name="android:textStyle">bold</item>
>>>>>>>> </style>
>>>>>>>> …
>>>>>>>
>>>>>>>
>>>>>>> Some flavor's source set:
>>>>>>> *styles.xml*
>>>>>>>
>>>>>>>> ...
>>>>>>>> <style name="button_text_style">
>>>>>>>> <item name="android:textStyle">italic</item>
>>>>>>>> </style>
>>>>>>>> …
>>>>>>>
>>>>>>> .
>>>>>>>
>>>>>>> Is it possible to obtain
>>>>>>>
>>>>>>> *styles.xml*
>>>>>>>
>>>>>>>> ...
>>>>>>>> <style name="button_text_style">
>>>>>>>> <item name="android:textSize">@dimen/btn_txt_size</item>
>>>>>>>> <item name="android:textColor">@color/btn_txt_color</item>
>>>>>>>> <item name="android:textStyle">italic</item>
>>>>>>>> </style>
>>>>>>>> …
>>>>>>>
>>>>>>>
>>>>>>> ?
>>>>>>>
>>>>>>> The actual result I have is
>>>>>>> *styles.xml*
>>>>>>>
>>>>>>>> ...
>>>>>>>> <style name="button_text_style">
>>>>>>>> <item name="android:textStyle">italic</item>
>>>>>>>> </style>
>>>>>>>> …
>>>>>>>
>>>>>>> --
>>>>>>> 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.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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/groups/opt_out.