Files

67 lines
2.6 KiB
Markdown

# Contributing
This document outlines how to propose a change to AndroidIDE. By contributing to this project, you
agree to abide the terms specified in the [CODE OF CONDUCT](./CODE_OF_CONDUCT.md).
## Requirements
- Android Studio.
- JDK 17 (prefer the one bundled with Android Studio).
> NOTE:
>
> At the time of this writing, the stable version of Android Studio (Electric Eel) is bundled with
> JDK 11. Only Android Studio Flamingo and newer are bundled with JDK 17.
## Build the project
Open the project in Android Studio. No extra steps are needed for this.
It is possible to build AndroidIDE in AndroidIDE itself. But, as it might be a too heavy task for an
Android device to be able to build the project, Android Studio is always recommended.
You can refer the [AndroidIDE Developer Guide](https://docs.androidide.com/developer/index.html) to
get started with the development or to learn more about the various components in the IDE.
## Source code format
- Indents : 2-space
- Java : `GoogleStyle`. Either use `google-java-format` or
import [this](https://raw.githubusercontent.com/google/styleguide/gh-pages/intellij-java-google-style.xml)
code style.
- Kotlin: Use [`ktfmt`](https://plugins.jetbrains.com/plugin/14912-ktfmt) IntelliJ Plugin and set
the code style to `Google (internal)`
. [`Learn more`](https://github.com/facebook/ktfmt#intellij-android-studio-and-other-jetbrains-ides)
.
- XML : Default Android Studio formatter with 2-space indentations.
## Propose a change
Before proposing a change, it is always recommended to open an issue and discuss it with the
maintainers.
**The `main` branch is protected and requires all the commits to be signed with your GPG key and the
commit history to be linear.**
See [protected branches](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)
.
To contribute to this project,
- Fork the repo.
- Clone the forked repo to your local machine.
- Open the project.
- Make your changes.
- Create a pull request. Give a proper title and description to your PR.
## Issues & Pull requests
Use the issue/PR templates whenever possible. Provide a proper title and a clear description of the
issue/PR. For bug reports, provide a step-by-step procedure to reproduce the issue. Always put
things like crash
logs, and build outputs in `code blocks`.
## Contact us
If you want to discuss anything about the project, you can discuss it in
the [Telegram group](https://t.me/androidide_discussions).