This document is meant to help contributors working on the project. For more detailed information, please refer to the project wiki.
Please read the Code of Conduct carefully before attempting to make any contributions.
-
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_HOMEpath is whereandroid-commandlinetoolsgets installed to by Homebrew
export ANDROID_HOME="/<path>/<to>/<your>/android-commandlinetools"
IMPORTANT - Make sure to restart IntelliJ after
ANDROID_HOMEis 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 qFTfor 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