GithubHelp home page GithubHelp logo

azizaktas / firefoxlite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mozilla-mobile/firefoxlite

0.0 0.0 0.0 171.7 MB

Emerging Market Experiment

License: Mozilla Public License 2.0

HTML 2.62% JavaScript 0.01% Java 56.34% CSS 0.09% Shell 0.17% Python 4.20% Kotlin 36.28% Groovy 0.04% TSQL 0.26%

firefoxlite's Introduction

Firefox Lite - Mango

Build Status

Getting Involved

We encourage you to participate in this open source project. We love Pull Requests, Bug Reports, ideas, (security) code reviews or any kind of positive contribution. Please read the Community Participation Guidelines.

Build instructions

  1. Clone the repository:
git clone https://github.com/mozilla-tw/FirefoxLite
  1. Since we're using submodule, run:
git submodule init
git submodule update
  1. Open Android Studio and select File->Open and select FirefoxLite to open the project. Make sure to select the right build variant in Android Studio: focusWebkitDebug

  2. Disable Instant Run in: Settings/Build, Execution, Deployment > Instant Run. (See note #1 for details.)

[1] We currently don't support instant run. An error message similar to:

/Users/tyu/Documents/zerda/FirefoxLite/app/src/main/java/org/mozilla/focus/utils/FirebaseHelper.java:29: error: cannot find symbol
final public class FirebaseHelper extends FirebaseWrapper {
                                          ^
  symbol: class FirebaseWrapper

will shown when building with instant run. We have an issue for this so feel free to help with this limitation. To disable instant run , press Cmd+Shit+a on Mac or Ctrl+Shift+a on Windows and enter "instant run" under "Preference" category. If it still doesn't work, try enter ./gradlew clean" on mac or gradlew clean on Windows using command line in the project root.

Build instructions regarding Firebase

We're leveraging Firebase to offer some extra functionalities. However, Firebase is optional so normally you should be able to just develop on focusWebkitDebug.

Here are some Firebase build workarounds that you may need during normal development:

  1. If you want to run UI test without setting up firebase tokens, remove testBuildType "firebase" from build.gradle or you will most likely see error message like this when you run connectedAndroidTest directly:
No tests found. This usually means that your test classes are not in the form that your test runner expects (e.g. don't inherit from TestCase or lack @Test annotations).

If you'd like to test the fully functional Firebase build, you should first setup the environment variables following these instructions and select focusWebkitFirebase

Pull request checks

To mimimize the chance you are blocked by our build checks, you can self check these locally:

  1. (build) run ./gradlew clean checkstyle assembleFocusWebkitDebug lint findbugs assembleAndroidTest ktlint
  2. (size check) run python tools/metrics/apk_size.py focus webkit
  3. (Unit test) run ./gradlew testFocusWebkitDebugUnitTest
  4. (UI test) run ./gradlew connectedAndroidTest

ktlint

Run ktlint --install-git-pre-commit-hook or ktlint --install-git-pre-push-hook for hooks Run ./gradlew ktlint or ktlint to run check Run ./gradlew ktlintformat -F or ktlint -F to fix format If you want to go extreme,run ktlint -a -F. This will use Android rule and gives you a lot of complains about max length, but we are not using right now. See https://ktlint.github.io/ for details.

Docs

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/

firefoxlite's People

Contributors

ahunt avatar ann-private avatar ben-yplai avatar benjamin-cheng avatar chianger avatar cnevinc avatar conjuror avatar daisy-pliu avatar dimplejiang avatar fablejames avatar gaul avatar harly21 avatar hartsu avatar idiotmax avatar jacklin-ux avatar josephyu1110 avatar kinse avatar manddy avatar mastizada avatar mcomella avatar mtwtm avatar mxlius avatar pharspher avatar pocmo avatar ppnfk avatar proevan avatar sabbir044 avatar snorp avatar walkingice avatar youwenliang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.