diff options
Diffstat (limited to 'src/node')
-rwxr-xr-x | src/node/tools/bin/protoc_plugin.js | 54 | ||||
-rw-r--r-- | src/node/tools/package.json | 4 |
2 files changed, 57 insertions, 1 deletions
diff --git a/src/node/tools/bin/protoc_plugin.js b/src/node/tools/bin/protoc_plugin.js new file mode 100755 index 0000000000..0e0bb9406e --- /dev/null +++ b/src/node/tools/bin/protoc_plugin.js @@ -0,0 +1,54 @@ +#!/usr/bin/env node +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/** + * This file is required because package.json cannot reference a file that + * is not distributed with the package, and we use node-pre-gyp to distribute + * the plugin binary + */ + +'use strict'; + +var path = require('path'); +var execFile = require('child_process').execFile; + +var protoc = path.resolve(__dirname, 'grpc_node_plugin'); + +execFile(protoc, process.argv.slice(2), function(error, stdout, stderr) { + if (error) { + throw error; + } + console.log(stdout); + console.log(stderr); +}); diff --git a/src/node/tools/package.json b/src/node/tools/package.json index 4b3499f2f9..d98ed0b1fc 100644 --- a/src/node/tools/package.json +++ b/src/node/tools/package.json @@ -16,7 +16,8 @@ } ], "bin": { - "grpc-tools-protoc": "./bin/protoc.js" + "grpc-tools-protoc": "./bin/protoc.js", + "grpc-tools-plugin": "./bin/protoc_plugin.js" }, "scripts": { "install": "./node_modules/.bin/node-pre-gyp install" @@ -32,6 +33,7 @@ "files": [ "index.js", "bin/protoc.js", + "bin/protoc_plugin.js", "LICENSE" ], "main": "index.js" |