{"id":26036805,"url":"https://github.com/ReVanced/revanced-manager-downloader-template","last_synced_at":"2025-03-07T08:01:14.322Z","repository":{"id":272332176,"uuid":"831505762","full_name":"ReVanced/revanced-manager-downloader-template","owner":"ReVanced","description":"👋🔌 Template repository for ReVanced Manager downloader","archived":false,"fork":false,"pushed_at":"2025-03-01T02:45:44.000Z","size":217,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-03-01T17:53:11.649Z","etag":null,"topics":["android","downloader","kotlin","plugin","revanced","revanced-manager","template"],"latest_commit_sha":null,"homepage":"https://revanced.app","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReVanced.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ReVanced","open_collective":"ReVanced","custom":["https://revanced.app/donate"]}},"created_at":"2024-07-20T18:49:33.000Z","updated_at":"2025-01-14T12:18:32.000Z","dependencies_parsed_at":"2025-01-13T19:21:20.210Z","dependency_job_id":"36cf9881-acf4-481b-9f14-2e4522c7ce25","html_url":"https://github.com/ReVanced/revanced-manager-downloader-template","commit_stats":null,"previous_names":["revanced/revanced-manager-downloader-template"],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-manager-downloader-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-manager-downloader-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-manager-downloader-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-manager-downloader-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReVanced","download_url":"https://codeload.github.com/ReVanced/revanced-manager-downloader-template/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242353780,"owners_count":20114042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","downloader","kotlin","plugin","revanced","revanced-manager","template"],"created_at":"2025-03-07T08:00:44.935Z","updated_at":"2025-03-07T08:01:14.289Z","avatar_url":"https://github.com/ReVanced.png","language":"Kotlin","funding_links":["https://github.com/sponsors/ReVanced","https://opencollective.com/ReVanced","https://revanced.app/donate"],"categories":["✅ Official"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource\n      width=\"256px\"\n      media=\"(prefers-color-scheme: dark)\"\n      srcset=\"assets/revanced-headline/revanced-headline-vertical-dark.svg\"\n    \u003e\n    \u003cimg \n      width=\"256px\"\n      src=\"assets/revanced-headline/revanced-headline-vertical-light.svg\"\n    \u003e\n  \u003c/picture\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://revanced.app/\"\u003e\n     \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"assets/revanced-logo/revanced-logo.svg\" /\u003e\n         \u003cimg height=\"24px\" src=\"assets/revanced-logo/revanced-logo.svg\" /\u003e\n     \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://github.com/ReVanced\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://i.ibb.co/dMMmCrW/Git-Hub-Mark.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://i.ibb.co/9wV3HGF/Git-Hub-Mark-Light.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"http://revanced.app/discord\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://reddit.com/r/revancedapp\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://t.me/app_revanced\"\u003e\n      \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png\" /\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png\" /\u003e\n      \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://x.com/revancedapp\"\u003e\n      \u003cpicture\u003e\n         \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/93124920/270180600-7c1b38bf-889b-4d68-bd5e-b9d86f91421a.png\"\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/93124920/270108715-d80743fa-b330-4809-b1e6-79fbdc60d09c.png\" /\u003e\n      \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://www.youtube.com/@ReVanced\"\u003e\n      \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png\" /\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png\" /\u003e\n     \u003c/picture\u003e\n   \u003c/a\u003e\n   \u003cbr\u003e\n   \u003cbr\u003e\n   Continuing the legacy of Vanced\n\u003c/p\u003e\n\n# 👋🔌 ReVanced Manager downloader template\n\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/ReVanced/revanced-manager-downloader-template/release.yml)\n![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)\n\nTemplate repository for ReVanced Manager downloader plugins.\n\n## ❓ About\n\nThis is a template to create a new ReVanced Manager downloader repository. An example implementation is included.\n\n##  🚀 Get started\n\nTo start using this template, follow these steps:\n\n1. [Create a new repository using this template](https://github.com/new?template_name=revanced-manager-downloader-template\u0026template_owner=ReVanced)\n2. Set up the [build.gradle.kts](build.gradle.kts) file (Specifically, the [package nme](build.gradle.kts#L21).\n3. Update dependencies in the [libs.versions.toml](gradle/libs.versions.toml) file\n4. [Create a pass-phrased GPG master key and subkey](https://mikeross.xyz/create-gpg-key-pair-with-subkeys/)\n   1. Add the private key as a secret named [GPG_PRIVATE_KEY](.github/workflows/release.yml#L51) to your repository\n   2. Add the passphrase as a secret named [GPG_PASSPHRASE](.github/workflows/release.yml#L52) to your repository\n   3. Add the fingerprint of the GPG subkey as a variable named [GPG_FINGERPRINT](.github/workflows/release.yml#L53)\n   to your repository\n5. [Generate a keystore](https://developer.android.com/studio/publish/app-signing#generate-key)\n   1. Add the Base64 encoded key store as a secret named [KEYSTORE](.github/workflows/release.yml#L57) to your repository\n   2. Add the keystore password as a secret named [KEYSTORE_PASSWORD](.github/workflows/release.yml#L62) to your repository\n   3. Add the keystore entry alias as a secret named [KEYSTORE_ENTRY_ALIAS](.github/workflows/release.yml#L63) to your repository\n   4. Add the keystore entry password as a secret named [KEYSTORE_ENTRY_PASSWORD](.github/workflows/release.yml#L64) to your repository\n7. Set up the [README.md](README.md) file[^1] (e.g, title, description, license, summary),\nthe [issue templates](.github/ISSUE_TEMPLATE)[^2] and the [contribution guidelines](CONTRIBUTING.md)[^3]\n\n🎉 You are now ready to develop and release a ReVanced Manager downloader!\n\n[^1]: [Example README.md file](https://github.com/ReVanced/revanced-manager/blob/main/README.md)\n[^2]: [Example issue templates](https://github.com/ReVanced/revanced-manager/tree/main/.github/ISSUE_TEMPLATE)\n[^3]: [Example contribution guidelines](https://github.com/ReVanced/revanced-manager/blob/main/CONTRIBUTING.md)\n\n## 🧑‍💻 Usage\n\nTo develop and release ReVanced Manager downloader using this template, some things need to be considered:\n\n- Development starts in feature branches. Once a feature branch is ready, it is squashed and merged into the `dev` branch\n- The `dev` branch is merged into the `main` branch once it is ready for release\n- Semantic versioning is used to version ReVanced Manager downloader.\n- Semantic commit messages are used for commits\n- Commits on the `dev` branch and `main` branch are automatically released\nvia the [release.yml](.github/workflows/release.yml) workflow, which is also responsible for generating the changelog\nand updating the version of ReVanced Manager downloader. It is triggered by pushing to the `dev` or `main` branch.\nThe workflow uses the `publish` task to publish the release.\n- The `publish` task depends on the `assembleRelease` task, so it will be run automatically when publishing a release.\n\n## 📚 Everything else\n\n### 📙 Contributing\n\nThank you for considering contributing to ReVanced Manager downloader.  \nYou can find the contribution guidelines [here](CONTRIBUTING.md).\n\n### 🛠️ Building\n\nTo build ReVanced Manager downloader template, a Java Development Kit (JDK) and Git must be installed.  \nFollow the steps below to build ReVanced Manager downloader template:\n\n1. Run `git clone git@github.com:ReVanced/revanced-manager-downloader-template.git` to clone the repository\n2. Run `gradlew assembleRelease` to build the project\n\n\u003e [!NOTE]\n\u003e If the build fails due to authentication, you may need to authenticate to GitHub Packages.\n\u003e Create a PAT with the scope `read:packages` [here](https://github.com/settings/tokens/new?scopes=read:packages\u0026description=ReVanced) and add your token to ~/.gradle/gradle.properties.\n\u003e\n\u003e Example `gradle.properties` file:\n\u003e\n\u003e ```properties\n\u003e gpr.user = user\n\u003e gpr.key = key\n\u003e ```\n\n## 📜 Licence\n\nReVanced Manager downloader template is licensed under the GPLv3 licence.\nPlease see the [license file](LICENSE) for more information.\n[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute\nand modify ReVanced Manager downloader template as long as you track changes/dates in source files.\nAny modifications to ReVanced Manager downloader template must also be made available under the GPL,\nalong with build \u0026 install instructions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReVanced%2Frevanced-manager-downloader-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FReVanced%2Frevanced-manager-downloader-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReVanced%2Frevanced-manager-downloader-template/lists"}