Skip to content

Latest commit

 

History

History
67 lines (38 loc) · 3.38 KB

CONTRIBUTING.md

File metadata and controls

67 lines (38 loc) · 3.38 KB

👋 Contributing to ConstraintLayout

First of all, thanks for any contributions you make to the project, they're really appreciated! If you would like to contribute code to ConstraintLayout you can do so through GitHub by forking the repository and sending a pull request.

When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible. Please also make sure your code compiles by running ./gradlew build.

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

✅✅✅ Getting Started Checklist

Following this file from beginning to end can be intimidating, so here's a simple check list to follow as you go:

  • Sign Google's CLA if you haven't already
  • Download the latest stable versions of Android Studio and IntelliJ
  • Build the project and run the tests to make sure you're in a good place.
  • Find an outstanding issue on Google's issue tracker or the Github Issues in this repository.
  • Submit your first Pull Request. Make sure all commit status checks are passing to be sure it will get reviewed.

⚠️ Prerequisites

Signed CLA

Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

Android Studio

  • Download the latest version of Android Studio
  • Download resources in Android SDK Manger: Android Build Tools to 30.0.2 and Android SDKs 25 & 30
  • In the AVD Manager you'll want to create a Nexus 5 API 25 emulator
  • Add the latest Kotlin plugin V1.4.21 within Android Studio
  • If you intend to work with the Compose bindings of ConstraintLayout you'll also need to download Android Studio Arctic Fox

IntelliJ

The projects under the desktop directory are all meant to be run by IntelliJ where the resulting application runs on Mac/Linux/Windows.

🛠️⚙️ Building Project

See the ConstraintLayout README for how to build the library.

🧪 Running Tests

✅🔬 Unit Tests

The core library has a set of tests that use the TestNG runner. You should be able to run them directly from Android Studio or ./gradlew :core:test from the constraintlayout working directory.

📱🔬 ConstraintLayout Integration Tests

See the Validation Tool README

💫🔬 MotionLayout Integration Tests

TBD

🤔 Looking for something to do?

This project has a list of issues on Google's issue tracker as well in the Github Issues in this repository.

🚀 Deployment

See the ConstraintLayout README for how to deploy the library.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.