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.
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.
Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
- 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
The projects under the desktop
directory are all meant to be run by IntelliJ where the resulting application runs on Mac/Linux/Windows.
See the ConstraintLayout README for how to build the library.
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.
See the Validation Tool README
TBD
This project has a list of issues on Google's issue tracker as well in the Github Issues in this repository.
See the ConstraintLayout README for how to deploy the library.
We use SemVer for versioning. For the versions available, see the tags on this repository.