{"id":24370337,"url":"https://github.com/bitlap/smt","last_synced_at":"2025-09-29T07:30:21.559Z","repository":{"id":36968319,"uuid":"376473575","full_name":"bitlap/smt","owner":"bitlap","description":"🔧  Useless but cool.","archived":false,"fork":false,"pushed_at":"2025-01-14T15:01:35.000Z","size":1074,"stargazers_count":14,"open_issues_count":9,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-14T16:32:44.070Z","etag":null,"topics":["annotations","lombok","macro","scala","transformer"],"latest_commit_sha":null,"homepage":"https://bitlap.org/lab/smt","language":"Scala","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/bitlap.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":"2021-06-13T07:49:13.000Z","updated_at":"2025-01-14T15:01:40.000Z","dependencies_parsed_at":"2023-02-14T09:50:40.335Z","dependency_job_id":"e25312ef-e13b-4b50-8ba5-c01b462ec59c","html_url":"https://github.com/bitlap/smt","commit_stats":null,"previous_names":["jxnu-liguobin/scala-macro-tools","bitlap/scala-macro-tools"],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fsmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fsmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fsmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fsmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitlap","download_url":"https://codeload.github.com/bitlap/smt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234598841,"owners_count":18858178,"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":["annotations","lombok","macro","scala","transformer"],"created_at":"2025-01-19T04:24:11.883Z","updated_at":"2025-09-29T07:30:20.894Z","avatar_url":"https://github.com/bitlap.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smt\n\n[![Project stage](https://img.shields.io/badge/Project%20Stage-Deprecated-red.svg)](https://github.com/bitlap/bitlap/wiki/Project-Stages)\n\n| CI              | Codecov                                   | Scaladex                                                      | Jetbrains Plugin                              |\n|-----------------|-------------------------------------------|---------------------------------------------------------------|-----------------------------------------------|\n| ![CI][Badge-CI] | [![codecov][Badge-Codecov]][Link-Codecov] | [![smt Scala version support][Badge-Scaladex]][Link-Scaladex] | [![Version][Badge-Jetbrains]][Link-Jetbrains] | \n\n\n# 环境\n\n- Scala 2.11.x\n- Scala 2.12.x\n- Scala 2.13.x \n- Scala 3.x [bitlap/rolls](https://github.com/bitlap/rolls)\n\n# 文档\n\n[详细文档 https://bitlap.org/lab/smt](https://bitlap.org/lab/smt)\n\n# 如何使用\n\n## annotations\n\n- `@toString`\n- `@builder`\n- `@apply`\n- `@constructor` 2.13+\n- `@equalsAndHashCode`\n- `@javaCompatible` 2.13+\n\n\u003e Intellij插件 `Scala-Macro-Tools`。\n\n```scala\n\"org.bitlap\" %% \"smt-annotations\" % \"\u003cVERSION\u003e\" \n```\n\n\u003e 在gradle，maven中，通常`smt-annotations`被替换为`smt-annotations_2.12`，其中，`2.12`表示Scala版本号。`smt-annotations`改名自`smt-tools`\n\n在`scala 2.13.x`版本中，需增加scalac参数`-Ymacro-annotations`。\n\n## common\n\n- 通用的宏操作API的封装。\n- 对象转换器（零依赖，类型安全）。\n- JDBC `ResultSet` 转换器。\n\n```scala\n\"org.bitlap\" %% \"smt-common\" % \"\u003cVERSION\u003e\"\n```\n\n该库已发布到[https://s01.oss.sonatype.org/](https://s01.oss.sonatype.org/)仓库，请使用最新版本。仅将本库导入构建系统（例如gradle、sbt）是不够的。不同Scala版本还需要相应配置：\n\n| Scala 2.11           | Scala 2.12           | Scala 2.13                     |\n|----------------------|----------------------|--------------------------------|\n| 导入 macro paradise 插件 | 导入 macro paradise 插件 | 开启 编译器标记 `-Ymacro-annotations` |\n\n```scala\n// 导入 macro paradise 插件\n// \u003cyour-scala-version\u003e 必须是Scala版本号的完整编号，如2.12.13，而不是2.12。\naddCompilerPlugin(\"org.scalamacros\" % \"paradise_\u003cyour-scala-version\u003e\" % \"\u003cplugin-version\u003e\")\n```\n\n如果没有仓库，可以手动添加：\n```\nThisBuild / resolvers ++= Seq(\n  \"Sonatype OSS Snapshots\" at \"https://s01.oss.sonatype.org/content/repositories/snapshots\",\n  \"Sonatype OSS Releases\" at \"https://s01.oss.sonatype.org/content/repositories/releases\"\n)\n```\n\n\n[Badge-CI]: https://github.com/bitlap/smt/actions/workflows/ci.yml/badge.svg\n[Badge-Scaladex]: https://index.scala-lang.org/bitlap/smt/smt-annotations/latest-by-scala-version.svg?platform=jvm\n[Badge-Jetbrains]: https://img.shields.io/jetbrains/plugin/v/17202-scala-macro-tools\n[Badge-Codecov]: https://codecov.io/gh/bitlap/smt/branch/master/graph/badge.svg?token=IA596YRTOT\n\n[Link-Jetbrains]: https://plugins.jetbrains.com/plugin/17202-scala-macro-tools\n[Link-Codecov]: https://codecov.io/gh/bitlap/smt\n[Link-Scaladex]: https://index.scala-lang.org/bitlap/smt/smt-annotations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitlap%2Fsmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitlap%2Fsmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitlap%2Fsmt/lists"}