{"id":31890685,"url":"https://github.com/apontini/greeter","last_synced_at":"2026-04-15T12:38:14.296Z","repository":{"id":98536438,"uuid":"443307596","full_name":"apontini/Greeter","owner":"apontini","description":"Test project to get to know code generation with KAPT and KotlinPoet","archived":false,"fork":false,"pushed_at":"2022-01-04T16:02:09.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-21T04:11:39.165Z","etag":null,"topics":["annotation-processor","code-generation","kapt","kotlin","kotlinpoet","maven","mvn"],"latest_commit_sha":null,"homepage":"","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/apontini.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-31T09:25:52.000Z","updated_at":"2022-01-04T16:02:12.000Z","dependencies_parsed_at":"2023-05-29T10:09:49.825Z","dependency_job_id":null,"html_url":"https://github.com/apontini/Greeter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apontini/Greeter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apontini%2FGreeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apontini%2FGreeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apontini%2FGreeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apontini%2FGreeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apontini","download_url":"https://codeload.github.com/apontini/Greeter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apontini%2FGreeter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31842191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T11:29:19.690Z","status":"ssl_error","status_checked_at":"2026-04-15T11:29:19.171Z","response_time":63,"last_error":"SSL_read: 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":["annotation-processor","code-generation","kapt","kotlin","kotlinpoet","maven","mvn"],"created_at":"2025-10-13T07:53:18.197Z","updated_at":"2026-04-15T12:38:14.288Z","avatar_url":"https://github.com/apontini.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AutoGreeter\n\nDo you find yourself struggling to remember to send seasonal greetings or to wish happy birthday to someone? Well, fear\nnot! AutoGreeter is here! The only thing you need to do is to create a function with no parameters and annotated\nwith `@Greeter` like this:\n\n```kotlin\ncompanion object {\n    @Greeter(\"05-12\", \"00:30\") //00:30 because we don't want to let people know we're a bot, right?\n    fun greetSomebody() {\n        //...\n    }\n}\n```\n\nAnd this method will be called on December 12 of every year at exactly 00:30.\nTo generate scheduled greetings just run `mvn clean install`.\n\nJokes aside, this is a small project that I made to study how to generate code starting from annotations using KAPT (and\nnot KSP since, at the time of writing, it doesn't have and expanded support). An arguably better way to handle such a\ntask would've been to implement some sort of Kotlin DSL such as:\n\n```kotlin\ngreetings {\n    greetAt(\"12-31\", \"00:00\") {\n        //run something\n    }\n}\n```\n\nOr just, you know, use some cron-like library.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapontini%2Fgreeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapontini%2Fgreeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapontini%2Fgreeter/lists"}