{"id":35732753,"url":"https://github.com/MorpheApp/morphe-patches-gradle-plugin","last_synced_at":"2026-01-12T14:01:12.779Z","repository":{"id":331422010,"uuid":"1105923632","full_name":"MorpheApp/morphe-patches-gradle-plugin","owner":"MorpheApp","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-06T22:50:33.000Z","size":251,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-08T02:17:30.226Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://morphe.software","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MorpheApp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":"https://morphe.software/donate"}},"created_at":"2025-11-28T11:01:41.000Z","updated_at":"2026-01-06T22:50:37.000Z","dependencies_parsed_at":"2026-01-09T01:05:05.747Z","dependency_job_id":null,"html_url":"https://github.com/MorpheApp/morphe-patches-gradle-plugin","commit_stats":null,"previous_names":["morpheapp/morphe-patches-gradle-plugin"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MorpheApp/morphe-patches-gradle-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorpheApp%2Fmorphe-patches-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorpheApp%2Fmorphe-patches-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorpheApp%2Fmorphe-patches-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorpheApp%2Fmorphe-patches-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MorpheApp","download_url":"https://codeload.github.com/MorpheApp/morphe-patches-gradle-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorpheApp%2Fmorphe-patches-gradle-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-06T12:00:40.470Z","updated_at":"2026-01-12T14:01:12.741Z","avatar_url":"https://github.com/MorpheApp.png","language":"Kotlin","funding_links":["https://morphe.software/donate"],"categories":["🔨 Projects"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e \n\u003cpicture\u003e\n    \u003csource\n      width=\"512px\"\n      media=\"(prefers-color-scheme: dark)\"\n      srcset=\"https://raw.githubusercontent.com/MorpheApp/.github/refs/heads/main/profile/assets/morphe-wordmark/morphe_wordmark_dark.svg\"\n    /\u003e\n    \u003cimg \n      width=\"512px\"\n      src=\"https://raw.githubusercontent.com/MorpheApp/.github/refs/heads/main/profile/assets/morphe-wordmark/morphe_wordmark_light.svg\"\n    /\u003e\n\u003c/picture\u003e\n\n[![Website badge](https://img.shields.io/badge/Website-gray.svg?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ29weXJpZ2h0IDIwMjUgTW9ycGhlLiBUaGlzIGlzIGNvcHlyaWdodGVkIGNvbnRlbnQsIGFuZCBub3QgbGljZW5zZWQgdW5kZXIgb3BlbiBzb3VyY2UgdGVybXMuCiAgICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9Nb3JwaGVBcHAvbW9ycGhlLWJyYW5kaW5nIC0tPgoKPHN2ZwogICB3aWR0aD0iNTEyIgogICBoZWlnaHQ9IjUxMiIKICAgdmlld0JveD0iMCAwIDUxMiA1MTIiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzIiCiAgIHNvZGlwb2RpOmRvY25hbWU9Im1vcnBoZV9sb2dvX2xpZ2h0LnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS40LjIgKGViZjBlOTQwZDAsIDIwMjUtMDUtMDgpIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0ibmFtZWR2aWV3MiIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyb3BhY2l0eT0iMC4yNSIKICAgICBpbmtzY2FwZTpzaG93cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIGlua3NjYXBlOnpvb209IjEuMTU0Mjk2OSIKICAgICBpbmtzY2FwZTpjeD0iMjU2IgogICAgIGlua3NjYXBlOmN5PSIyNTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxNDQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjgzNiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzIiPgogICAgPGlua3NjYXBlOnBhZ2UKICAgICAgIHg9IjAiCiAgICAgICB5PSIwIgogICAgICAgd2lkdGg9IjUxMiIKICAgICAgIGhlaWdodD0iNTEyIgogICAgICAgaWQ9InBhZ2UyIgogICAgICAgbWFyZ2luPSIwIgogICAgICAgYmxlZWQ9IjAiIC8+CiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc+CiAgPGRlZnMKICAgICBpZD0iZGVmczIiIC8+CiAgPCEtLSBMZXR0ZXIgLS0+CiAgPGcKICAgICBpZD0iTGV0dGVyIgogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiPgogICAgPHBhdGgKICAgICAgIGlkPSJMZWZ0IgogICAgICAgZD0ibSAxMjMsMTQwIGMgLTIxLDAgLTM5LDE3IC00MCwzOCB2IDE5MiBjIDEsMjEgMTksMzggNDAsMzggMjEsMCAzOSwtMTcgNDAsLTM4IFYgMTc4IGMgLTEsLTIxIC0xOSwtMzggLTQwLC0zOCB6IgogICAgICAgZmlsbD0iIzFFNUFBOCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9IlJpZ2h0IgogICAgICAgZD0ibSAzNDksMjg1IHYgODUgYyAxLDIxIDE5LDM4IDQwLDM4IDIxLDAgMzksLTE3IDQwLC0zOCBWIDE4MiBjIC0xMSwtMTQgLTc0LDYzIC04MCwxMDMgeiIKICAgICAgIGZpbGw9IiMwMEFGQUUiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJNaWRkbGUiCiAgICAgICBkPSJtIDEyNywxMDggYyAtMzQsMCAtNDQsMjUgLTQ0LDQwIHYgNTQgYyAzMCwtMzMgNzUsMjcgODAsMzMgMjgsMzIgNDQsODcgOTMsODkgNDgsLTIgNjcsLTU2IDkzLC04OSAwLDAgNDUsLTc0IDgwLC04MCAwLC0yOCAtMTEsLTQ3IC00NCwtNDcgLTM0LDAgLTU4LDUwIC03NSw3MiAtMTcsMjIgLTI1LDQ2IC01NCw0NiAtMjksMCAtMzgsLTI1IC01NCwtNDYgLTE3LC0yMiAtNDEsLTcyIC03NSwtNzIgeiIKICAgICAgIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQyKSIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+CiAgPC9nPgo8L3N2Zz4K\u0026style=for-the-badge)](https://morphe.software) [![Documentation badge](https://img.shields.io/badge/Documentation-gray?style=for-the-badge\u0026logo=github)](https://github.com/MorpheApp/morphe-documentation#readme) [![Subreddit badge](https://img.shields.io/badge/Reddit-gray?style=for-the-badge\u0026logo=reddit\u0026logoColor=white)](https://www.reddit.com/r/MorpheApp) [![X badge](https://img.shields.io/badge/X_-gray?style=for-the-badge\u0026logo=x)](https://x.com/MorpheApp) [![Crowdin badge](https://img.shields.io/badge/Translations-gray?style=for-the-badge\u0026logo=crowdin)](https://morphe.software/translate)\n\u003cbr\u003e\n\u003c/div\u003e\n\n# 🐘 Morphe Patches Gradle plugin\n\nA Gradle plugin for Morphe Patches projects.\n\n\u0026nbsp;\n## ❓ About\n\nMorphe Patches Gradle plugin configures a project to develop Morphe Patches.\n\nFor that, the plugin provides:\n\n- The [settings plugin](plugin/src/main/kotlin/app/morphe/patches/gradle/SettingsPlugin.kt):\nApplied to the `settings.gradle.kts` file, configures the project repositories and subprojects\n- The [patches plugin](plugin/src/main/kotlin/app/morphe/patches/gradle/PatchesPlugin.kt):\nApplied to the patches subproject by the settings plugin\n- The [extension plugin](plugin/src/main/kotlin/app/morphe/patches/gradle/ExtensionPlugin.kt):\nApplied to extension subprojects by the settings plugin\n\n\u003e [!CAUTION]\n\u003e This plugin is a hard fork and was not originally created by Morphe.\n\u003e This plugin functionality may dramatically change at any time.\n\nMorphe Patches Gradle Plugin is based off the prior work of [ReVanced](https://github.com/ReVanced/revanced-patches-gradle-plugin).\nAll modifications made by Morphe, along with their dates, can be found in the Git history.\n\n## 🚀 How to get started\n\n\u003e [!TIP]\n\u003e The [Morphe Patches template](https://github.com/MorpheApp/morphe-patches-template) repository\n\u003e uses this plugin and is a good starting point to create a new Morphe Patches project.\n\nAdd the following to the `settings.gradle.kts` file:\n\n```kotlin\npluginManagement {\n    repositories {\n        `mavenLocal()`\n        gradlePluginPortal()\n        google()\n        maven {\n           name = \"GitHubPackages\"\n           url = uri(\"https://maven.pkg.github.com/MorpheApp/registry\")\n           credentials {\n              username = providers.gradleProperty(\"gpr.user\")\n              password = providers.gradleProperty(\"gpr.key\")\n           }\n        }\n    }\n}\n\nplugins {\n   id(\"app.morphe.patches\") version \"\u003cversion\u003e\"\n}\n```\n\n\u003e [!NOTE]\n\u003e The plugin is published to the GitHub Package Registry, so you need to authenticate with GitHub.  \n\u003e More information\n\u003e [here](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry#authenticating-to-github-packages).\n\nCreate the patches project and configure the `build.gradle.kts` file:\n\n```kotlin\npatches {\n    about {\n        name = \"Morphe custom patches\" // Use your own name if desired.\n        description = \"Custom patches for Morphe\"\n        // ...   \n    }\n}\n```\n\n\u003e [!NOTE]\n\u003e By default, the plugin expects the patches project to be in the `patches` directory.\n\nCreate the extension project and configure the `build.gradle.kts` file:\n\n```kotlin\nextension {\n   name = \"extensions/extension.mpe\"\n}\n\nandroid {\n   namespace = \"app.morphe.extension\"\n}\n```\n\n\u003e [!NOTE]\n\u003e By default, the plugin expects extension projects to be under the `extensions` directory.\n\n## 📚 Everything else\n\n### 🛠️ Building\n\nTo build Morphe Patches Gradle plugin, follow these steps:\n\n1. Clone the repository and navigate to the project directory.\n2. Authenticate with GitHub. More information\n   [here](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry#authenticating-to-github-packages).\n3. Run `./gradlew build` to build the plugin.\n4. Optionally, run `./gradlew publishToMavenLocal` to publish the plugin to your local Maven repository for development.\n\n## 📜 Licence\n\nMorphe Patches are licensed under the [GNU GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.html), with additional conditions under Section 7:\n\n- **Name Restriction (7c):** The name **\"Morphe\"** may not be used for derivative works.  \n  Derivatives must adopt a distinct identity unrelated to \"Morphe.\"\n\nSee the [LICENSE](./LICENSE) file for full terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMorpheApp%2Fmorphe-patches-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMorpheApp%2Fmorphe-patches-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMorpheApp%2Fmorphe-patches-gradle-plugin/lists"}