No description or website provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
nuspec/nuget
src
tools
.appveyor.yml
.gitignore
LICENSE
README.md
build.ps1
setup.cake

README.md

Cake.ProtobufTools

A Cake AddIn that extends Cake with Google.Protofbuf.Tools command tools, namely protoc.

cakebuild.net NuGet Build status

Including addin

Including addin in cake script is easy.

#addin "Cake.ProtobufTools"

Google.Protobuf.Tools package isn't included, it has to be added manually to your cake script.

#tool nuget:?package=Google.Protobuf.Tools

Usage

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,
	...
};

Credits

Brought to you by Miha Markic (@MihaMarkic) and contributors.