diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 413c4ca7..d1212b94 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,7 +61,10 @@ # 👋 Contribution guidelines Welcome to contribution guidelines, this document contains -everything you'll need to contribute to ReVanced Manager. +everything you'll need to contribute to ReVanced Manager (and might even possibly apply to our other project like ReVanced Patches!) + +There are many ways to contribute like writing docs and code, opening issues, +helping people out in our community, translating or sponsoring our project, etc. ## 📖 Resources to help you get started @@ -83,24 +86,26 @@ Features can be requested by opening an issue using the If you encounter a bug while using the ReVanced Manager app, open an issue using the [bug report issue template](https://github.com/ReVanced/revanced-manager/issues/new?assignees=&labels=bug&projects=&template=bug-issue.yml&title=bug%3A+%3Ctitle%3E). -## 📝 How to contribute +## 🌐 Submitting translations + +You can contribute translations at translate.revanced.app > [!TIP] -> We recommend that you discuss your changes with -> the maintainers of ReVanced Manager before contributing. -> This will help you determine whether your change is acceptable. +> * Try to keep the translated text roughly the same length as the original. +> * Consider opting for gender-neutral words for language with variations of words based on gender. -1. Fork the repository and create your branch from `dev` -2. Commit your changes -3. Submit a pull request to the `dev` branch of the repository and reference issues that your pull request closes in the description of your pull request -4. Our team will review your pull request and provide feedback. Once your pull request is approved, it will be merged into the `dev` branch and will be included in - the next release of ReVanced Manager +## 🧑‍💻 Developing for ReVanced Manager -## 🤚 I want to contribute but don't know how to code +See the guidelines for developing for ReVanced Manager [here](/docs/developer/README.md) -Even if you don't know how to code, you can still contribute by -translating ReVanced Manager on [Crowdin](https://translate.revanced.app/) -or sponsor us at [GitHub Sponsor](https://github.com/sponsors/ReVanced) and [Open Collective](https://opencollective.com/ReVanced). +## 🔒 Submitting a vulnerability + +See the guideline for reporting security vulnerability [here](/SECURITY.md) + +## 🤚 I don't want to do any of that but I want to contribute either way + +You can still contribute by spreading positive word about us or if you'd like to sponsor us, checkout https://revanced.app/donate +to learn more on how to you can sponsor via GitHub, Open Collective and cryptocurrencies. ❤️ Thank you for considering contributing to ReVanced Manager, ReVanced diff --git a/README.md b/README.md index fc8f6ad0..83b1e505 100644 --- a/README.md +++ b/README.md @@ -89,12 +89,9 @@ Learn how to use ReVanced Manager by following the [documentation](/docs). ### 📙 Contributing -You can find the contribution guidelines [here](CONTRIBUTING.md). Thank you for considering contributing to ReVanced Manager. -### 🛠️ Building - -To build a ReVanced Manager, you can follow the [documentation](/docs). +The [contribution guidelines](CONTRIBUTING.md) provides information you'll need to open an issue, develop for ReVanced Manager and translations. ### 📄 Documentation diff --git a/SECURITY.md b/SECURITY.md index 8af902fc..6d0b2628 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -73,8 +73,11 @@ special contributor role. ### ⏳ Supported Versions -| Version | Branch | Supported | -| --------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------ | -| ![Latest stable release](https://img.shields.io/github/v/release/ReVanced/revanced-manager?style=for-the-badge "Latest stable release") | main | :white_check_mark: | -| ![Latest version](https://img.shields.io/badge/version-latest-brightgreen?style=for-the-badge "Latest version") | dev | :white_check_mark: | -| ![Latest version](https://img.shields.io/badge/version-latest-brightgreen?style=for-the-badge "Latest version") | compose-dev | :white_check_mark: | +| Version | Branch | Supported | +| ---------------------------------------- | ------------- | ------------------ | +| ![Latest stable release][LatestRelBadge] | `main` | :white_check_mark: | +| ![Latest version][LatestVerBadge] | `dev` | :white_check_mark: | +| ![Latest version][LatestVerBadge] | `compose-dev` | :white_check_mark: | + +[LatestRelBadge]: https://img.shields.io/github/v/release/ReVanced/revanced-manager?style=for-the-badge "Latest stable release" +[LatestVerBadge]: https://img.shields.io/badge/version-latest-brightgreen?style=for-the-badge "Latest version" \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index f6ae368a..26ed78b3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -13,6 +13,10 @@ This documentation explains how to use [ReVanced Manager](https://github.com/ReV 4. [⚙️ Configuring ReVanced Manager](2_4_settings.md) 3. [❔ Troubleshooting](3_troubleshooting.md) +## 🧑‍💻 Developing for ReVanced Manager + +Checkout the documentation for developer [here](developer/README.md). + ## ⏭️ Start here The next page will tell you about the prerequisites for using ReVanced Manager. diff --git a/docs/developer/0_prerequisites.md b/docs/developer/0_prerequisites.md new file mode 100644 index 00000000..e96aa19d --- /dev/null +++ b/docs/developer/0_prerequisites.md @@ -0,0 +1,29 @@ +# 💼 Prerequisites + +Here's everything you'll need to develop on ReVanced Manager + +## 🤝 Recommended enviroment + +- Any environment that capable of running the latest Android Studio, latest Android SDK and JDK 17 with at least 4 GB of memory for coding +- Any devices with preferably the latest Android version or at least higher than the [`minSdk`](/app/build.gradle.kts) for testing + +### Additional Requirements + +- Device with root capabilities with latest version of [KernelSU](https://github.com/tiann/KernelSU) or [Magisk](https://github.com/topjohnwu/Magisk) + +## ⚙️ Setting up + +### Authenticating to GitHub Registry + +ReVanced Manager uses dependency from the GitHub Registry and so your build may fail without authenticating to the service, to authenticate you must add create a personal access token with the scope `read:packages` [here](https://github.com/settings/tokens/new?scopes=read:packages&description=ReVanced) and add your token to `~/.gradle/gradle.properties`, create the file if it does not exist. + +```properties +gpr.user = username +gpr.key = ghp_****************************** +``` + +## ⏭️ What's next + +The next page will guide you through developing for ReVanced Manager. + +Continue: [🧑‍💻 Developing for ReVanced Manager](1_develop.md) diff --git a/docs/developer/1_develop.md b/docs/developer/1_develop.md new file mode 100644 index 00000000..023288f5 --- /dev/null +++ b/docs/developer/1_develop.md @@ -0,0 +1,25 @@ +# 🧑‍💻 Developing for ReVanced Manager + +ReVanced Manager is developed on Kotlin using [Jetpack Compose](https://developer.android.com/compose), here are some tips to help you get started. + +## Code style + +The styling is based on https://kotlinlang.org/docs/coding-conventions.html + +## Commit + +At ReVanced, we adopt a naming convention for commit called [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) so for example when your adding new feature you must add `feat: ` before the description of your commit. + +## Building + +To build ReVanced Manager, simply hit build button on your IDE or run: + +```sh +./gradlew assembleDebug +``` + +## ⏭️ What's next + +The next page will guide you through developing for ReVanced Manager. + +Continue: [🎉 Submitting your Pull Request](2_submitting.md) diff --git a/docs/developer/2_submitting.md b/docs/developer/2_submitting.md new file mode 100644 index 00000000..746cbc80 --- /dev/null +++ b/docs/developer/2_submitting.md @@ -0,0 +1,12 @@ +# 🎉 Submitting your Pull Request + +> [!TIP] +> We recommend that you discuss your changes with +> the maintainers of ReVanced Manager before contributing. +> This will help you determine whether your change is acceptable. + +1. Fork the repository and create your branch from `dev` +2. Commit your changes in [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) style +3. Submit a pull request to the `dev` branch of the repository and reference issues that your pull request closes in the description of your pull request +4. Our team will review your pull request and provide feedback. Once your pull request is approved, it will be merged into the `dev` branch and will be included in + the next release of ReVanced Manager diff --git a/docs/developer/3_verifying.md b/docs/developer/3_verifying.md new file mode 100644 index 00000000..8bfd0304 --- /dev/null +++ b/docs/developer/3_verifying.md @@ -0,0 +1,8 @@ +# ✒️ Verifying ReVanced Manager + +> [!NOTE] +> This information is more relevant to alternative store providers + +The certificate hash of the APK will always be `b6362c6ea7888efd15c0800f480786ad0f5b133b4f84e12d46afba5f9eac1223` + +ReVanced Manager include prebuilts binaries of [`libaapt2.so`](/app/src/main/jniLibs/) from https://github.com/ReVanced/aapt2 which fixes issue on ARM32 system, attestation is provided here: https://github.com/ReVanced/aapt2/attestations diff --git a/docs/developer/README.md b/docs/developer/README.md new file mode 100644 index 00000000..19549d6b --- /dev/null +++ b/docs/developer/README.md @@ -0,0 +1,25 @@ +# 💊 ReVanced Manager + +> [!WARNING] +> This guide is for people who want to develop for ReVanced Manager, may feature technical words or jargons. +> For regular user you may want to view this [documentation](/docs/README.md) instead. + +This documentation explains how to develop for [ReVanced Manager](https://github.com/ReVanced/revanced-manager). + +## 📖 Table of contents + +## Developing + +0. [💼 Prerequisites](0_prerequisites.md) +1. [🧑‍💻 Developing for ReVanced Manager](1_developing.md) +2. [🎉 Submitting your Pull Request](2_submitting.md) + +## Store provider + +1. [✒️ Verifying ReVanced Manager](3_verifying.md) + +## ⏭️ Start here + +The next page will tell you about the prerequisites for developing for ReVanced Manager. + +Continue: [💼 Prerequisites](0_prerequisites.md)