6c020a0bc4
* Remove "abi" product flavor and introduce "engine" product flavor. This patch will allow us to build Fenix against GeckoView Nightly and GeckoView Beta by introducing a new flavor dimension: engine = [geckoNightly, geckoBeta]. In addition to that it adds a "fenix" prefix to the nightly, beta and production flavors to reduce the ambiguity between fenix beta/nightly and GeckoView beta/nightly. For now the build types have the following engine variants enabled: **debug**: geckoNightly, geckoBeta Both variants enabled for local development and testing. **forPerformanceTest**: geckoNightly, geckoBeta Both variants enabled unless the perf team only cares about Nightly (tbd) **fenixNightlyLegacy**: geckoBeta Uses GeckoView Beta for now - the same version we ship production builds with (same behavior as before). This release type will eventualyl be decommissioned once we switch to a separate Nightly app on Google Play. **fenixNightly**: geckoBeta Uses GeckoView Beta for now - the same version we ship production builds with (same behavior as before). Changing this build to use GeckoView Nightly is currently being discussed. **fenixBeta**: geckoBeta Fenix Beta uses GeckoView Beta. **fenixProduction** Fenix Production uses GeckoView Beta (69) currently. * gradle.py/variant.py: Replace "abi" with "engine". * Disable enableUnitTestBinaryResources until we can switch to Android Gradle plugin 3.5. * Fenix nightly should use both geckoview nightly and beta * Updates automation to use apk splitting and support different engine |
||
---|---|---|
.github | ||
app | ||
architecture | ||
automation | ||
buildSrc | ||
certificates | ||
config | ||
docs | ||
fastlane | ||
gradle/wrapper | ||
.adjust_token | ||
.gitattributes | ||
.gitignore | ||
.taskcluster.yml | ||
CODE_OF_CONDUCT.md | ||
Gemfile | ||
LICENSE | ||
README.md | ||
build.gradle | ||
codecov.yml | ||
debug.keystore | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
l10n.toml | ||
settings.gradle |
README.md
Firefox Preview
Firefox Preview (internal code name: "Fenix") is an all-new browser for Android, based on GeckoView and Mozilla Android Components.
Getting Involved
We encourage you to participate in this open source project. We love Pull Requests, Bug Reports, ideas, (security) code reviews or any other kind of positive contribution.
Before you attempt to make a contribution please read the Community Participation Guidelines.
-
Guide to Contributing (New contributors start here!)
-
View current Issues, view current Pull Requests, or file a security issue.
-
IRC: #fenix (irc.mozilla.org) | view logs (We're available Monday-Friday, GMT and PST working hours).
-
Localization happens on Pontoon. Please get in touch with delphine (at) mozilla (dot) com directly for more information.
Beginners! - Watch out for Issues with the "Good First Issue" label. These are easy bugs that have been left for first timers to have a go, get involved and make a positive contribution to the project!
Build Instructions
- Clone or Download the repository:
git clone https://github.com/mozilla-mobile/fenix
- Import the project into Android Studio or build on the command line:
./gradlew clean app:assembleArmDebug
- Make sure to select the correct build variant in Android Studio: armDebug for ARM x86Debug for X86
Pre-push hooks
To reduce review turn-around time, we'd like all pushes to run tests locally. We'd
recommend you use our provided pre-push hook in config/pre-push-recommended.sh
.
Using this hook will guarantee your hook gets updated as the repository changes.
This hook tries to run as much as possible without taking too much time.
To add it on Mac/Linux, run this command from the project root:
ln -s ../../config/pre-push-recommended.sh .git/hooks/pre-push
or for Windows run this command using the Command Prompt with administrative privileges:
mklink .git\hooks\pre-push ..\..\config\pre-push-recommended.sh
or using PowerShell:
New-Item -ItemType SymbolicLink -Path .git\hooks\pre-push -Value (Resolve-Path config\pre-push-recommended.sh)
To push without running the pre-push hook (e.g. doc updates):
git push <remote> --no-verify
License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/