This document is meant to help contributors working on the project. For more detailed information, please refer to the project wiki.
-
Android SDK
-
JDK 8, 11, 17
If you haven’t installed the Android SDK locally, you can do so for macOS using Homebrew:
brew install android-commandlinetools
Then, set the ANDROID_HOME
environment variable in your shell by adding the following line to your profile file
(e.g., .zshrc
, .bash_profile
, .bashrc
):
The
ANDROID_HOME
path is whereandroid-commandlinetools
gets installed to by Homebrew
export ANDROID_HOME="/<path>/<to>/<your>/android-commandlinetools"
IMPORTANT - Make sure to restart IntelliJ after
ANDROID_HOME
is set, otherwise, tests will continue to fail when invoked via IntelliJ.
To install the project to Maven Local, run the following command:
./gradlew installForFuncTest
To execute all checks, run:
./gradlew check
To run all functional tests against the full test matrix (all supported versions of AGP and Gradle), use the following (please be aware, this can take a long time):
./gradlew functionalTest
For a quicker run against the latest-supported combination of AGP and Gradle, use:
./gradlew functionalTest -DfuncTest.quick
Alternatively:
./gradlew quickFunctionalTest
Pro tip: You can also use
./gradlew qFT
for brevity.
To run tests against a specific subset of the suite, use Gradle’s --tests
option.
For example:
./gradlew functionalTest --tests AnnotationProcessorSpec
For a combination of quick tests and test filtering, use the more verbose quick-test syntax:
./gradlew functionalTest --tests AnnotationProcessorSpec -DfuncTest.quick