{"id":13609288,"url":"https://github.com/dipien/bye-bye-dead-code","last_synced_at":"2025-04-14T12:33:20.071Z","repository":{"id":42430468,"uuid":"282313164","full_name":"dipien/bye-bye-dead-code","owner":"dipien","description":"Gradle Plugin to automatically detect unused code on your Kotlin or Android project","archived":false,"fork":false,"pushed_at":"2022-11-04T12:34:49.000Z","size":370,"stargazers_count":10,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T01:50:29.961Z","etag":null,"topics":["android","deadcode","gradle","gradle-plugin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dipien.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"patreon":"dipien","ko_fi":"maxirosson","custom":["http://alby.dipien.com","http://coinbase.dipien.com"]}},"created_at":"2020-07-24T20:46:37.000Z","updated_at":"2024-12-14T16:24:37.000Z","dependencies_parsed_at":"2022-09-10T13:01:29.317Z","dependency_job_id":null,"html_url":"https://github.com/dipien/bye-bye-dead-code","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipien%2Fbye-bye-dead-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipien%2Fbye-bye-dead-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipien%2Fbye-bye-dead-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipien%2Fbye-bye-dead-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dipien","download_url":"https://codeload.github.com/dipien/bye-bye-dead-code/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248881924,"owners_count":21176945,"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","deadcode","gradle","gradle-plugin"],"created_at":"2024-08-01T19:01:33.892Z","updated_at":"2025-04-14T12:33:20.040Z","avatar_url":"https://github.com/dipien.png","language":"Kotlin","readme":"[![Dipien](https://raw.githubusercontent.com/dipien/dipien-component-builder/master/.github/dipien_logo.png)](http://www.dipien.com)\n\n# Bye Bye Dead Code\n\nGradle Plugin to automatically detect unused code on your Kotlin or Android project\n\n## Features\n\n// TODO\n\n## Setup\n\nAdd the following configuration to your root `build.gradle`, replacing X.Y.Z with the [latest version](https://github.com/dipien/bye-bye-dead-code/releases/latest)\n\n```groovy\nbuildscript {\n    repositories {\n        mavenCentral()\n    }\n    dependencies {\n        classpath(\"com.dipien:bye-bye-dead-code:X.Y.Z\")\n    }\n}\n\napply plugin: \"com.dipien.bye-bye-dead-code\"\n```\n\n## Usage\n\n// TODO\n\n### Tasks\n\n#### Generate unused code report \n\nThis task depends on R8 which detects unused code when you build your project. So you must enable `minifyEnabled` in the `build.gradle` of your app module. [See how to configure R8](https://developer.android.com/studio/build/shrink-code)\n\n```\n./gradlew app:bundleRelease generateDeadCodeReport\n```\n\nThe report `app/build/outputs/dead_code/usage.txt` will be generated.\n\n##### Extension properties\n\nThe extension is configured by default to work using the release build type, but you can change this if you want. Using the extension `byeByeDeadCode` you can modify the following properties:\n\nName | Type | Description\n--- | --- | ---\nignoredClasses | List | *Optional.* List of ignored classes. Supports regex.\nignoredMembers | List | *Optional.* List of ignored class members. Supports regex.\ngeneratedClassesDirs | List | *Required.* Directories that are used by different tools (e.g. kapt) to store generated source code. \u003cbr/\u003e\u003cbr/\u003e Default: \u003cbr/\u003e[\"build/generated/source/kapt/release\", \u003cbr/\u003e\"build/generated/source/navigation-args/release\"]\ncompiledKotlinClassesDir | String | *Required.* Directory where compiled kotlin classes are stored. \u003cbr/\u003e\u003cbr/\u003e Default: \"build/tmp/kotlin-classes/release\"\ncompiledJavaClassesDir | String | *Required.* Directory where compiled Java classes are stored. \u003cbr/\u003e\u003cbr/\u003e Default: \"build/intermediates/javac/release\"\nr8UsageFilePath | String | *Required.* File path of usage.txt generated by R8. \u003cbr/\u003e\u003cbr/\u003e Default: \"app/build/outputs/mapping/release/usage.txt\"\nreportFilePath | String | *Required.* File path to store the report. \u003cbr/\u003e\u003cbr/\u003e Default: \"app/build/outputs/dead_code/usage.txt\"\n\n#### Remove unused Android resources\n\nRemove unused Android resources\n\n```\n./gradlew removeUnusedAndroidResources\n```\n\n## Copyright\n\nPart of the source code of this project is based on [Unused Resources Remover for Android](https://github.com/konifar/gradle-unused-resources-remover-plugin)\n\n## Versioning\n\nThis project uses the [Semantic Versioning guidelines](http://semver.org/) for transparency into our release cycle.\n\n## Sponsor this project\n\nSponsor this open source project to help us get the funding we need to continue working on it.\n\n* [Donate with Bitcoin Lightning](https://getalby.com/p/dipien) ⚡️ [dipien@getalby.com](https://getalby.com/p/dipien)\n* [Donate cryptocurrency](http://coinbase.dipien.com/)\n* [Donate with PayPal](http://paypal.dipien.com/)\n* [Donate on Patreon](http://patreon.dipien.com/)\n* [Become a member of Medium](https://maxirosson.medium.com/membership) [We will receive a portion of your membership fee]\n\n## Follow us\n* [Twitter](http://twitter.dipien.com)\n* [Medium](http://medium.dipien.com)\n* [Instagram](http://instagram.dipien.com)\n* [Pinterest](http://pinterest.dipien.com)\n* [GitHub](http://github.dipien.com)\n","funding_links":["https://patreon.com/dipien","https://ko-fi.com/maxirosson","http://alby.dipien.com","http://coinbase.dipien.com"],"categories":["Kotlin"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipien%2Fbye-bye-dead-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdipien%2Fbye-bye-dead-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipien%2Fbye-bye-dead-code/lists"}