A Cake AddIn that extends Cake with Google.Protofbuf.Tools command tools, namely protoc.
Including addin in cake script is easy.
#addin "Cake.ProtobufTools"
Google.Protobuf.Tools package isn't included, it has to added manually to your cake script.
#tool nuget:?package=Google.Protobuf.Tools
To use the addin just add it to Cake call the aliases and configure any settings you want.
#addin "Cake.ProtobufTools"
#tool nuget:?package=Google.Protobuf.Tools
...
Task("ProtobufGenerator")
.Does(() => {
var settings = new ProtocSettings
{
CSharpOut = Directory("."),
};
var file = File("./definitions.proto");
Protoc(settings, file);
)};
Since 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.
You can force it using ProtocSettings.OSTarget property, i.e.:
var settings = new ProtocSettings
{
OSTarget = OSTarget.Linux64,
...
};
Brought to you by Miha Markic (@MihaMarkic) and contributors.