View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0028707||2.x IDE Bugs||Configurations||Public||2018-01-12 13:34||2018-10-30 12:45|
|Reporter||Sam Cumming||Assigned To||Russell Kay|
|Priority||High||Severity||C - General||Reproducibility||100%|
|Target Version||2.2.1||Fixed in Version||2.2.1|
|Summary||0028707: Configurations: [Individual configs] do not hold the Extension settings|
|Description||With the way the configurations are currently working I cannot successfully separate an AMAZON config from the DEFAULT config and have them both utilize extensions independently. That is, have an extension exclusively in one config and not the other (both ways eg. 1 that's in DEFAULT and not in AMAZON and another that is in AMAZON and not in DEFAULT). The manifest from any extension "ticked off" in DEFAULT always gets included in the other configs.|
Also, the extension I have checked in the AMAZON config doesn't get built into the export unless it is checked in the DEFAULT.
Right now, I have to manipulate the DEFAULT config each time I build for Amazon and again for Google Play. I make mistakes, and the whole build process becomes much longer and error prone.
|Steps To Reproduce||1) Create an AMAZON config. Add the AmazonGameCircle extension that you expect to only be in this configuration. Check it for Android. Uncheck it in the DEFAULT config. |
2) Add Google Play Services and Check it in the DEFAULT configuration. Uncheck it in the AMAZON config.
3) Build the AMAZON build to see that the Google Play Services extension is included, but the AmazonGameCircle extension is not.
|Additional Information||Reported by Chris Lee via Helpdesk.|
|2.x IDE Found In|
|2.x Runtime Found In||220.127.116.11|
|2.x IDE Verified In||18.104.22.1687|
|2.x Runtime Verified In||22.214.171.1249|
|Duplicate > 0028490 - Closing.|
|This isn't actually a duplicate, my mistake.|
GMSConfigDemo.yyz (20,132,128 bytes)
Yes, this still occurs in Red 1308 / rt 897.
I've attached a sample from Chris. It has two configs: 'default' and 'Amazon'.
'default': GooglePlayServicesExtension is copied to Android. AmazonGameCircle & IAPs are not.
'Amazon': AmazonGameCircle & IAPs are copied to Android. GooglePlayServicesExtension is not.
If you build an APK using 'default' and go to: GMS2CACHE\GMSConfig[misc]\Android\default\com.company.game\src\main\java\com\company\game, you'll see that the Google APK is pushed to the APK.
If you build an APK using 'Amazon' and go to the same path, you'll see that the Google APK is still pushed, no Amazon extensions are sent.
Now, change the Default config to push Amazon Extensions instead using Copies To, and repeat the above step. You'll see that the Amazon Extensions are pushed fine.
It seems we only care about what's in the Default Config for extensions. Other configs will inherit default with regards to Extensions, and we lose the extension configuration in child configs.
Default is what everything is based from.
Wouldn't you create 2 configs, Amazon and (say) Windows. Then they are separate and you can disable the extension in the proper config?
|That's what's broken: Regardless of what child config you select, you'll always get the contents of Default, even if you don't want it. It overrides the child.|
|Just appears to be using the default config for extensions, not any of the child configs at all.|
||OK the reason that the example project does not work is that the extension is not used at all so it is never exported - this is an optimisation|
||Fixed in gitlab|