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.
- Clone the repository:
git clone https://github.com/mozilla-tw/FirefoxLite
- Since we're using submodule, run:
git submodule init
git submodule update
- 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
We're leveraging Firebase to offer some extra functionalities. However, Firebase is optional so normally you should be able to just develop on focusWebkitDebug.
To mimimize the chance you are blocked by our build checks, you can self check these locally:
- (build) run
./gradlew clean checkstyle assembleFocusWebkitDebug lint findbugs assembleAndroidTest ktlint
- (size check) run
python tools/metrics/apk_size.py focus webkit
- (Unit test) run
./gradlew testFocusWebkitDebugUnitTest
- (UI test) run
./gradlew connectedAndroidTest
- Download ktlint
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.30.0/ktlint &&
chmod a+x ktlint &&
sudo mv ktlint /usr/local/bin/
- Run
ktlint --install-git-pre-commit-hook
for hooks - Run
./gradlew ktlint
orktlint
to run check - Run
ktlint applyToIDEAProject
to make your IDE align with ktlint - 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 it right now. - See https://ktlint.github.io/ for details.
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/