Revision control

Copy as Markdown

> ⚠️ Firefox will be ending support for Echo Show. Starting April 30, 2021, you will be automatically redirected to Amazon Silk for web browsing. See also: [End of support for Firefox on Amazon Devices](https://support.mozilla.org/en-US/kb/end-support-firefox-amazon-devices)
# Firefox for Echo Show
Available on all Echo Show devices: *"Alexa, open Firefox!"*
## Getting Involved
Our code is open source and we encourage all positive contributions! We love pull
requests, bug reports, ideas, (security) code reviews and other kinds of contributions.
Before you contribute, please read the [Community Participation
* [Guide to Contributing][contribute] (**new contributors start here!**)
* [`good first issues`][good first] | [`help wanted`][help]
* [File a security issue][sec issue] (be sure to check "Restrict access to... 'Security-Sensitive Firefox Bug' group")
* Mailing list:
### Project resources
* [Device reference]
* [Telemetry documentation](docs/telemetry.md)
## Build instructions
1. Clone the repository:
```shell
```
2. Import the project into Android Studio or build on the command line:
```shell
./gradlew clean app:assembleAmazonWebviewDebug
```
3. Make sure to select the right build variant in Android Studio: **amazonWebviewDebug**
### Running
You can run from Android Studio or adb.
For recommendations on which devices and emulators to run on, see [device reference].
### Testing
To run a reasonable subset of the unit tests, we recommend:
```sh
./gradlew testAmazonWebViewDebug
```
To generate code coverage reports, run:
```sh
./gradlew -Pcoverage jacocoAmazonWebViewDebugTestReport
```
Reports can be found at
`app/build/jacoco/jacoco<buildVariant>TestReport/html/index.html`
### Pre-push hooks
Since we don't have CI, if you're pushing code, please add a pre-push hook. To use the
recommended hook, run this command from the project root:
```sh
ln -s ../../quality/pre-push-recommended.sh .git/hooks/pre-push
```
To push without running the pre-push hook (e.g. doc updates):
```sh
git push <remote> --no-verify
```
### Signing release builds
To build and sign a release build with our production keys using Autograph, run:
```sh
./tools/sign_release.sh
```
If you're not creating a release but want to create a release build for
local testing, you can append `--test` to ignore some release checks.
See that script's source for further usage.
## 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/
[device reference]: docs/device_reference.md