revanced-patches-template

πŸ‘‹πŸ§©Template repository for ReVanced Patches

GPL-3.0 License

Stars
4.6K

πŸ‘‹πŸ§© ReVanced Patches template

Template repository for ReVanced Patches.

❓ About

This is a template to create a new ReVanced Patches repository. The repository can have multiple patches, and patches from other repositories can be used together.

For an example repository, see ReVanced Patches.

πŸš€ Get started

To start using this template, follow these steps:

  1. Create a new repository using this template
  2. Set up the build.gradle.kts file (Specifically, the group of the project,
    and the About)
  3. Update dependencies in the libs.versions.toml file
  4. Create a pass-phrased GPG master key and subkey
    1. Add the private key as a secret named GPG_PRIVATE_KEY to your repository
    2. Add the passphrase as a secret named GPG_PASSPHRASE to your repository
    3. Add the fingerprint of the GPG subkey as a secret named GPG_FINGERPRINT to your repository
  5. Create a PAT with push access
    1. Add it as a secret named REPOSITORY_PUSH_ACCESS to your repository
  6. Set up the README.md file[^1] (e.g, title, description, license, summary of the patches
    that are included in the repository), the issue templates[^2] and the contribution guidelines[^3]

πŸŽ‰ You are now ready to start creating patches!

[^1]: Example README.md file [^2]: Example issue templates [^3]: Example contribution guidelines

πŸ”˜ Optional steps

You can also add the following things to the repository:

  • API documentation, if you want to publish your patches as a library

πŸ§‘β€πŸ’» Usage

To develop and release ReVanced Patches using this template, some things need to be considered:

  • Development starts in feature branches. Once a feature branch is ready, it is squashed and merged into the dev branch
  • The dev branch is merged into the main branch once it is ready for release
  • Semantic versioning is used to version ReVanced Patches. ReVanced Patches have a public API for other patches to use
  • Semantic commit messages are used for commits
  • Commits on the dev branch and main branch are automatically released
    via the release.yml workflow, which is also responsible for generating the changelog
    and updating the version of ReVanced Patches. It is triggered by pushing to the dev or main branch.
    The workflow uses the publish task to publish the release of ReVanced Patches
  • The buildAndroid task is used to build ReVanced Patches so that it can be used on Android.
    The publish task depends on the buildAndroid task, so it will be run automatically when publishing a release.

πŸ“š Everything else

πŸ“™ Contributing

Thank you for considering contributing to ReVanced Patches template. You can find the contribution guidelines here.

πŸ› οΈ Building

To build ReVanced Patches template, you can follow the ReVanced documentation.

πŸ“œ Licence

ReVanced Patches template is licensed under the GPLv3 licence. Please see the license file for more information. tl;dr you may copy, distribute and modify ReVanced Patches template as long as you track changes/dates in source files. Any modifications to ReVanced Patches template must also be made available under the GPL, along with build & install instructions.