浏览代码

Added a bit more to README.md, and allowed custom PROTOC var in tests.

Josh Haberman 9 年之前
父节点
当前提交
24c5424be5
共有 2 个文件被更改,包括 28 次插入2 次删除
  1. 24 0
      js/README.md
  2. 4 2
      js/gulpfile.js

+ 24 - 0
js/README.md

@@ -43,6 +43,10 @@ Once you have `protoc` compiled, you can run the tests by typing:
     $ npm install
     $ npm test
 
+    # If your protoc is somewhere else than ../src/protoc, instead do this.
+    # But make sure your protoc is the same version as this (or compatible)!
+    $ PROTOC=/usr/local/bin/protoc npm test
+
 This will run two separate copies of the tests: one that uses
 Closure Compiler style imports and one that uses CommonJS imports.
 You can see all the CommonJS files in `commonjs_out/`.
@@ -113,6 +117,26 @@ statements like:
 
     var message = new messages.MyMessage();
 
+The `--js_out` flag
+-------------------
+
+The syntax of the `--js_out` flag is:
+
+    --js_out=[OPTIONS:]output_dir
+
+Where `OPTIONS` are separated by commas.  Options are either `opt=val` or
+just `opt` (for options that don't take a value).  The available options
+are specified and documented in the `GeneratorOptions` struct in
+[src/google/protobuf/compiler/js/js_generator.h](https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/js/js_generator.h#L53).
+
+Some examples:
+
+- `--js_out=library=myprotos_lib.js,binary:.`: this contains the options
+  `library=myprotos.lib.js` and `binary` and outputs to the current directory.
+  The `import_style` option is left to the default, which is `closure`.
+- `--js_out=import_style=commonjs,binary:protos`: this contains the options
+  `import_style=commonjs` and `binary` and outputs to the directory `protos`.
+
 API
 ===
 

+ 4 - 2
js/gulpfile.js

@@ -2,8 +2,10 @@ var gulp = require('gulp');
 var exec = require('child_process').exec;
 var glob = require('glob');
 
+var protoc = process.env.PROTOC || '../src/protoc';
+
 gulp.task('genproto_closure', function (cb) {
-  exec('../src/protoc --js_out=library=testproto_libs,binary:. -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
+  exec(protoc + ' --js_out=library=testproto_libs,binary:. -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
        function (err, stdout, stderr) {
     console.log(stdout);
     console.log(stderr);
@@ -12,7 +14,7 @@ gulp.task('genproto_closure', function (cb) {
 });
 
 gulp.task('genproto_commonjs', function (cb) {
-  exec('mkdir -p commonjs_out && ../src/protoc --js_out=import_style=commonjs,binary:commonjs_out -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
+  exec('mkdir -p commonjs_out && ' + protoc + ' --js_out=import_style=commonjs,binary:commonjs_out -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
        function (err, stdout, stderr) {
     console.log(stdout);
     console.log(stderr);