{"id":22837284,"url":"https://github.com/cake-contrib/cake.protobuftools","last_synced_at":"2025-04-24T03:26:55.224Z","repository":{"id":56362142,"uuid":"110117347","full_name":"cake-contrib/Cake.ProtobufTools","owner":"cake-contrib","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-08T10:21:37.000Z","size":78,"stargazers_count":1,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T13:47:57.608Z","etag":null,"topics":["cake","cake-addin","protobuf"],"latest_commit_sha":null,"homepage":"https://cakebuild.net/extensions/cake-protobuftools","language":"C#","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/cake-contrib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/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":"2017-11-09T13:15:02.000Z","updated_at":"2024-02-08T09:50:26.000Z","dependencies_parsed_at":"2024-12-12T23:16:24.929Z","dependency_job_id":"caf4b596-46be-4882-9810-572333f3d961","html_url":"https://github.com/cake-contrib/Cake.ProtobufTools","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-contrib%2FCake.ProtobufTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-contrib%2FCake.ProtobufTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-contrib%2FCake.ProtobufTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cake-contrib%2FCake.ProtobufTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cake-contrib","download_url":"https://codeload.github.com/cake-contrib/Cake.ProtobufTools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250554132,"owners_count":21449542,"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":["cake","cake-addin","protobuf"],"created_at":"2024-12-12T23:16:15.039Z","updated_at":"2025-04-24T03:26:55.217Z","avatar_url":"https://github.com/cake-contrib.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cake.ProtobufTools\n\nA Cake AddIn that extends Cake with [Google.Protofbuf.Tools](https://github.com/google/protobuf/) command tools, namely protoc.\n\n[![cakebuild.net](https://img.shields.io/badge/WWW-cakebuild.net-blue.svg)](http://cakebuild.net/)\n[![NuGet](https://img.shields.io/nuget/v/Cake.ProtobufTools.svg)](https://www.nuget.org/packages/Cake.ProtobufTools)\n\n|Branch|Status|\n|------|------|\n|Master|[![Build status](https://ci.appveyor.com/api/projects/status/github/cake-contrib/Cake.ProtobufTools?branch=master\u0026svg=true)](https://ci.appveyor.com/project/cakecontrib/cake-protobuftools)|\n|Develop|[![Build status](https://ci.appveyor.com/api/projects/status/github/cake-contrib/Cake.ProtobufTools?branch=develop\u0026svg=true)](https://ci.appveyor.com/project/cakecontrib/cake-protobuftools)|\n\n## Important\n\n1.5.0\n* References Cake 4.0.0\n* Drops support for .NET Framework\n* Supports .net 6+\n\n## Including addin\nIncluding addin in cake script is easy.\n```c#\n#addin \"Cake.ProtobufTools\"\n```\nGoogle.Protobuf.Tools package isn't included, it has to be added manually to your cake script.\n\n```c#\n#tool nuget:?package=Google.Protobuf.Tools\n```\n\n## Usage\n\nTo use the addin just add it to Cake call the aliases and configure any settings you want.\n\n```csharp\n#addin \"Cake.ProtobufTools\"\n#tool nuget:?package=Google.Protobuf.Tools\n\n...\n\nTask(\"ProtobufGenerator\")\n\t.Does(() =\u003e {\n\t\tvar settings = new ProtocSettings\n\t\t{\n\t\t\tCSharpOut = Directory(\".\"),\n\t\t};\n\t\tvar file = File(\"./definitions.proto\");\n\t\tProtoc(settings, file);\n\t});\n```\nSince Google.ProtobufTools nuget package comes with different executable flavors (Linux, Windows, MacOS X - all having both x86 and x64 versions) the addin, unless explicitly defined, uses the most appropriate based on OS you are running the script. \n\nYou can force it using _ProtocSettings.OSTarget_ property, i.e.:\n\n```c#\nvar settings = new ProtocSettings\n{\n\tOSTarget = OSTarget.Linux64,\n\t...\n};\n```\n\n## Discussion\n\nIf you have questions, search for an existing one, or create a new discussion on the Cake GitHub repository, using the `extension-q-a` category.\n\n[![Join in the discussion on the Cake repository](https://img.shields.io/badge/GitHub-Discussions-green?logo=github)](https://github.com/cake-build/cake/discussions/categories/extension-q-a)\n\n## Credits\n\nBrought to you by [Miha Markic](https://github.com/MihaMarkic) and contributors. \n\n![Mastodon Follow](https://img.shields.io/mastodon/follow/001030236)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcake-contrib%2Fcake.protobuftools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcake-contrib%2Fcake.protobuftools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcake-contrib%2Fcake.protobuftools/lists"}