{"id":17921405,"url":"https://github.com/gotson/best-before","last_synced_at":"2026-02-13T00:32:02.419Z","repository":{"id":182496112,"uuid":"668592924","full_name":"gotson/best-before","owner":"gotson","description":"Annotation processor raising errors for Deprecated annotations","archived":false,"fork":false,"pushed_at":"2025-02-25T02:45:03.000Z","size":99,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-25T03:30:09.732Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gotson.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2023-07-20T07:06:38.000Z","updated_at":"2025-02-25T02:44:25.000Z","dependencies_parsed_at":"2023-11-21T02:27:21.463Z","dependency_job_id":"646cdd45-fe84-46aa-8a4b-18634ae86a06","html_url":"https://github.com/gotson/best-before","commit_stats":null,"previous_names":["gotson/best-before"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotson%2Fbest-before","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotson%2Fbest-before/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotson%2Fbest-before/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotson%2Fbest-before/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gotson","download_url":"https://codeload.github.com/gotson/best-before/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247803832,"owners_count":20998839,"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":[],"created_at":"2024-10-28T20:33:42.655Z","updated_at":"2026-02-13T00:32:02.414Z","avatar_url":"https://github.com/gotson.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/gotson/best-before/ci.yml?branch=main\u0026style=flat-square)](https://github.com/gotson/best-before/actions/workflows/ci.yml)\n[![Maven Central](https://img.shields.io/maven-central/v/com.github.gotson.bestbefore/bestbefore-processor-kotlin?color=blue\u0026style=flat-square)](https://search.maven.org/search?q=g:com.github.gotson.bestbefore)\n![Maven Snapshots](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fcentral.sonatype.com%2Frepository%2Fmaven-snapshots%2Fcom%2Fgithub%2Fgotson%2Fbestbefore%2Fbestbefore-processor-kotlin%2Fmaven-metadata.xml\u0026style=flat-square\u0026label=maven%20snapshot\u0026color=blue\n)\n\n# Best Before\n\nAn annotation processor for Java and Kotlin that will throw an error if `@Deprecated` code is found.\n\n## But why?\n\nDeprecated code is usually removed on major releases. It can happen that we forget to remove deprecated code before shipping a new major version.\n\nBest Before is here to handle those cases. By enabling the annotation processor during major versions, and failing the build if some deprecated code is found, one can ensure major versions are free of deprecated code.\n\n## How to use?\n\nBest Before is composed of two annotation processors:\n- `bestbefore-processor-java` which handles `java.lang.Deprecated`\n- `bestbefore-processor-kotlin` which handles `kotlin.Deprecated`, and needs to be used with KSP\n\nApply the dependency only if the version is a major version:\n\n### Gradle (Groovy)\n\n```groovy\nif (version.toString().contains(\".0.0\")) {\n    annotationProcessor 'com.github.gotson.bestbefore:bestbefore-processor-java:0.1.0'\n    ksp 'com.github.gotson.bestbefore:bestbefore-processor-kotlin:0.1.0'\n}\n```\n\n### Gradle (Kotlin DSL)\n\n```kotlin\nif (version.toString().contains(\".0.0\")) { \n  annotationProcessor(\"com.github.gotson.bestbefore:bestbefore-processor-java:0.1.0\")\n  ksp(\"com.github.gotson.bestbefore:bestbefore-processor-kotlin:0.1.0\")\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgotson%2Fbest-before","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgotson%2Fbest-before","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgotson%2Fbest-before/lists"}