We want to make contributing to this project as easy and transparent as possible.
Facebook has a bounty program for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a GitHub issue.
We welcome pull requests.
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Make sure the test suite passes.
- Make sure your code passes lint.
- If you haven't already, complete the Contributor License Agreement ("CLA").
In Android Studio, choose File > Open..
. and select the fresco
folder.
Fresco uses native code for a few features. To build Fresco you'll need to specify the path to the NDK.
In Android Studio, go to File > Project Structure
and in the dialog set the Android NDK location
. Android Studio stores the NDK location in to your local.properties
file.
Select the Showcase app and click run:
You can use the drawer to select one of the demos:
Now you can change any code in Fresco and see the changes in the app.
Have fun hacking on Fresco! 😎
You can check your code compiles using:
cd fresco
./gradlew assembleDebug
You can run tests locally using:
cd fresco
./gradlew test
Circle CI will run the same tests and report on your pull request.
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla.
Each pull request is first submitted into Facebook's internal repositories by a Facebook team member. Once the commit has successfully passed Facebook's internal test suite, it will be exported back out from Facebook's repository. We endeavour to do this as soon as possible for all commits.
- 2 spaces for indentation rather than tabs
- 100 character line length
- Although officially archived, we still follow the practice of Oracle's Coding Conventions for the Java Programming Language.
By contributing to Fresco, you agree that your contributions will be licensed under its MIT license.