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.

Reply via email to