{"id":25820699,"url":"https://github.com/vontikov/sbe-gradle-plugin","last_synced_at":"2025-02-28T09:58:49.527Z","repository":{"id":173990294,"uuid":"121986520","full_name":"vontikov/sbe-gradle-plugin","owner":"vontikov","description":"Simple Binary Encoding plugin for Gradle Build Tool","archived":false,"fork":false,"pushed_at":"2024-05-12T18:08:58.000Z","size":60,"stargazers_count":7,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-12T19:24:15.249Z","etag":null,"topics":["gradle","gradle-plugin","sbe","simple-binary-encoding"],"latest_commit_sha":null,"homepage":"","language":"Groovy","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/vontikov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2018-02-18T20:11:26.000Z","updated_at":"2024-05-12T19:24:19.800Z","dependencies_parsed_at":"2023-12-07T10:46:32.067Z","dependency_job_id":null,"html_url":"https://github.com/vontikov/sbe-gradle-plugin","commit_stats":null,"previous_names":["vontikov/sbe-gradle-plugin"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vontikov%2Fsbe-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vontikov%2Fsbe-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vontikov%2Fsbe-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vontikov%2Fsbe-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vontikov","download_url":"https://codeload.github.com/vontikov/sbe-gradle-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241134169,"owners_count":19915556,"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":["gradle","gradle-plugin","sbe","simple-binary-encoding"],"created_at":"2025-02-28T09:58:48.901Z","updated_at":"2025-02-28T09:58:49.513Z","avatar_url":"https://github.com/vontikov.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"[Simple Binary Encoding](https://github.com/real-logic/simple-binary-encoding) plugin for [Gradle Build Tool](https://gradle.org/)\n------------------------------------------\nRuns [SBE Tool](https://github.com/real-logic/simple-binary-encoding/wiki/Sbe-Tool-Guide)\nin a Gradle project.\n\nIntroduces a set of Gradle tasks which can be used to generate\n[Simple Binary Encoding](https://github.com/real-logic/simple-binary-encoding)\ncodecs for Java and C++.\n\nCompiled Java codecs are packed into a jar file.\n\nC++ codecs are delivered in a tarball, as a header-only\n[CMake](https://cmake.org/)-ready library.\n\nPlugin site: https://plugins.gradle.org/plugin/com.github.vontikov.sbe-generator-plugin\n\nUsage\n-----\n\n#### Plugins DSL\n\n```Groovy\n\nplugins {\n  id \"com.github.vontikov.sbe-generator-plugin\" version \"0.0.9\"\n}\n```\n\n#### Legacy plugin application\n\n\n```Groovy\n\nbuildscript {\n  repositories {\n    maven {\n      url \"https://plugins.gradle.org/m2/\"\n    }\n  }\n  dependencies {\n    classpath \"com.github.vontikov:sbe-generator-plugin:0.0.9\"\n  }\n}\n\napply plugin: \"com.github.vontikov.sbe-generator-plugin\"\n```\n\n#### Full configuration\n\n```Groovy\n\n//\n// build.gradle\n//\nbuildscript {\n  repositories {\n    maven {\n      url \"https://plugins.gradle.org/m2/\"\n    }\n  }\n  dependencies {\n    classpath \"com.github.vontikov:sbe-generator-plugin:0.0.5\"\n  }\n}\n\napply plugin: \"com.github.vontikov.sbe-generator-plugin\"\n\nsbeGenerator {\n  src {\n    dir = 'src/main/resources/xml'\n    includes = []\n    excludes = []\n  }\n\n  javaCodecsDir = 'build/generated/src/main/java'\n  javaClassesDir = 'build/generated/classes'\n\n  cppCodecsDir = 'build/generated/src/main/cpp1'\n  cppCmakeDir = 'build/generated/cmake-project'\n\n  archivesDir = 'build/archives'\n\n  javaOptions = [:]\n  cppOptions = [:]\n\n  // enable or disable validation (enabled by default)\n  shouldValidate = true\n}\n```\n\nJava or CPP options should be provided in Groovy map format.\nFor example:\n\n```Groovy\njavaOptions = ['sbe.java.generate.interfaces': 'true', 'sbe.generate.ir': 'true']\ncppOptions = ['sbe.generate.ir': 'true']\n```\nThe full list of options is [here](https://github.com/real-logic/simple-binary-encoding/wiki/Sbe-Tool-Guide)\n\n\n#### SBE version\n```\n#\n# gradle.properties\n#\nsbe_version=1.22.0\n```\n\n#### SBE Generator tasks\n\n| Task                  | Description                                |\n| --------------------- | ------------------------------------------ |\n| sbeValidate           | Validates message declaration schemas      |\n| sbeGenerateJavaCodecs | Generates Java SBE codecs                  |\n| sbeCompileJavaCodecs  | Compiles Java SBE codecs                   |\n| sbeJavaArchive        | Creates Java jar with SBE codecs           |\n| sbeGenerateCppCodecs  | Generates C++ SBE codecs                   |\n| sbeCppArchive         | Packs generated C++ codecs                 |\n| sbeCppCmakeScripts    | Prepares C++ CMake scripts for SBE library |\n\nExample\n------------------------------------------\n\nhttps://github.com/vontikov/sbe-example\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvontikov%2Fsbe-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvontikov%2Fsbe-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvontikov%2Fsbe-gradle-plugin/lists"}