Hello iOS mobile-dev!

As part of our going faster initiative, I've been working on cleaning up
our Xcode project and scheme to better match our trains going forward. In
getting our configurations setup for this I came across a variety of
duplicated settings and unused schemes that we haven't maintained for a
while. This morning I've landed the first chunk of work in getting our
project building better by merging in the project settings clean up and
refactor code in https://github.com/mozilla/firefox-ios/pull/1429.

Here are some things you can look forward to!

* No more random warnings! When building/archiving the project, a variety
of warnings were appearing for FxA and other targets. These warnings have
been resolved with only a few appearing now for our Client target which are
a lot more meaningful.

* Easier configuration for personal/external team developers. Contributors
before the patch were required to go through 10+ files and update strings
in various build configurations. Now with the consolidated entitlement
files and .xcconfig setup, contributors now only need to update the
MOZ_BUNDLE_ID property in Fennec.xcconfig, select their team, and build!

* Channel configuration now in one place. The old model of using a
BaseConfig.xcconfig file which contained 'common' properties and seperate
.xcconfig files for each target caused confusion because when viewing a
configuration for particular channel, you weren't seeing all of the
properties that were being set. BaseConfig.xcconfig has now been removed
and each .xcconfig file contains all of the configurable information you
need.

* Cleaned up build settings for all targets. Before, many of the targets
overrode the project settings with a duplicate version of the setting it
was overriding. The targets have now been cleaned up and all duplicated
settings have been refactored into Project level settings. This means that
each target's custom build settings are now more relevant and the amount of
setting noise has been significantly reduced.

** Renamed Client scheme to Fennec to fit more with our development
terminology. The target is still named 'Client' since it reflects the
client application but the application/scheme now matches the build name.

Next steps:

* Update our fastlane tooling to reflect the new channels that we can build
along with allowing enterprise/production variants to be built.

* Align the current l10n/FennecAurora builds with our release channel
process to keep our branching/versioning in sync.

Lastly, please let me know if you run into issues or regressions with
building as well as any feedback. Updated documentation can be found here:

https://github.com/mozilla/firefox-ios/blob/master/README.md
https://github.com/mozilla/firefox-ios/blob/master/BUILDING.md

Thanks!
_______________________________________________
mobile-firefox-dev mailing list
mobile-firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to