The Mobile.BuildTools makes it easier to develop code bases in a clean, consistent, secure, and configurable way. Determine at Build which environment your app needs to run on, and what Client Secrets it should have. Plus many more amazing features!
The current behavior for the Mobile.BuildTools when a property does not exist is to simply not generate the property and generate a build error. Since v2 now defines which properties should exist we have a bit more context to evaluate. We should optionally allow either build time warnings with a default value for the missing property or allow you define a default value.
DETAILS
There are many times a "Secret" isn't really a secret as much as it is a configuration value that may be safe to check into source control. Some of these values such as an App Center Secret only ever matter for an official build and are not really utilized for Dev builds. We will want to introduce a new enum in the configuration. This should be set on both a project level and property level.
Value
Behavior
Default
We will continue to throw errors unless a default value has been provided or another value was set explicitly on the property
Error
This would be the default anyway for the project level. However you may wish to warn at the project level and only generate errors for specific properties. Any default value added will be ignored if this was set at the Property level.
Warn
We will log a build warning about the missing property but will use either the type default value or a specified default value
UseDefaultValue
Just like with warn we with use the type default value or specified default value, but no logging will occur to tell you that this occurred.
SUMMARY
The current behavior for the Mobile.BuildTools when a property does not exist is to simply not generate the property and generate a build error. Since v2 now defines which properties should exist we have a bit more context to evaluate. We should optionally allow either build time warnings with a default value for the missing property or allow you define a default value.
DETAILS
There are many times a "Secret" isn't really a secret as much as it is a configuration value that may be safe to check into source control. Some of these values such as an App Center Secret only ever matter for an official build and are not really utilized for Dev builds. We will want to introduce a new enum in the configuration. This should be set on both a project level and property level.
Looking at this sample configuration we would make the following assertions on the properties
default
https://dev.api.contoso.com/