Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 3.54 KB

CONTRIBUTING.md

File metadata and controls

76 lines (50 loc) · 3.54 KB

How to Contribute

If you find something interesting you want contribute to the repo, feel free to raise a PR, or open an issue for features you'd like to see added.

For first time contributors

Proposing a Change

For small bug-fixes, documentation updates, or other trivial changes, feel free to jump straight to submitting a pull request.

If the changes are larger (API design, architecture, etc), opening an issue can be helpful to reduce implementation churn as we hash out the design.

Requirements

Building and Testing Locally (All platforms)

This project also contains just recipes for many common commands. They can be listed using just -l

Player

For speed and consistency, this repo leverages bazel as it's main build tool. Check out the bazel docs for more info.

After forking the repo, run builds using bazel to test, build and run:

Docs Sites

These require the Android NDK. The docs site can be ran using:

bazel build //docs/site:start
bazel run //docs/site:start

which will run an instance on http://localhost:3000.

For Android Only builds

If you are interested in only contributing for android, follow our android guide

For iOS Only builds

Xcode Project generation

Generate the .xcodeproj to open and work in Xcode. Builds and tests will be executed through bazel, to ensure behavioral parity.

bazel run //ios:xcodeproj
open -a Xcode ios/PlayerUI.xcodeproj/

Demo Application

Xcode

The first time the Xcode project is generated, the default selected target is PlayerUI, for a runnable target select PlayerUIDemo to run the demo application in the simulator.

Bazel

The demo app can also be built and launched in a simulator from the command line with bazel:

bazel run //ios/demo:PlayerUIDemo

Submitting a Pull Request

Prior to submitting a pull request, ensure that your fork and branch are up to date with the lastest changes on main.

Any new features should have corresponding tests that exercise all code paths, and public symbols should have docstrings at a minimum. For more complex features, adding new documentation pages to the site to help guide users to consume the feature would be preferred.

When you're ready, submit a new pull request to the main branch and the team will be notified of the new requested changes. We'll do our best to respond as soon as we can.


Inspired by react's How to Contribute