OLD | NEW |
1 var gulp = require('gulp'); | 1 var gulp = require('gulp'); |
2 var execFile = require('child_process').execFile; | 2 var execFile = require('child_process').execFile; |
3 var glob = require('glob'); | 3 var glob = require('glob'); |
4 | 4 |
5 function exec(command, cb) { | 5 function exec(command, cb) { |
6 execFile('sh', ['-c', command], cb); | 6 execFile('sh', ['-c', command], cb); |
7 } | 7 } |
8 | 8 |
9 var protoc = process.env.PROTOC || '../src/protoc'; | 9 var protoc = process.env.PROTOC || '../src/protoc'; |
10 | 10 |
11 var wellKnownTypes = [ | |
12 '../src/google/protobuf/any.proto', | |
13 '../src/google/protobuf/api.proto', | |
14 '../src/google/protobuf/compiler/plugin.proto', | |
15 '../src/google/protobuf/descriptor.proto', | |
16 '../src/google/protobuf/duration.proto', | |
17 '../src/google/protobuf/empty.proto', | |
18 '../src/google/protobuf/field_mask.proto', | |
19 '../src/google/protobuf/source_context.proto', | |
20 '../src/google/protobuf/struct.proto', | |
21 '../src/google/protobuf/timestamp.proto', | |
22 '../src/google/protobuf/type.proto', | |
23 '../src/google/protobuf/wrappers.proto', | |
24 ]; | |
25 | |
26 gulp.task('genproto_closure', function (cb) { | 11 gulp.task('genproto_closure', function (cb) { |
27 exec(protoc + ' --js_out=library=testproto_libs,binary:. -I ../src -I . *.pro
to && ' + protoc + ' --js_out=one_output_file_per_input_file,binary:. -I ../src
-I . ' + wellKnownTypes.join(' '), | 12 exec(protoc + ' --js_out=library=testproto_libs,binary:. -I ../src -I . *.pro
to ../src/google/protobuf/descriptor.proto', |
28 function (err, stdout, stderr) { | 13 function (err, stdout, stderr) { |
29 console.log(stdout); | 14 console.log(stdout); |
30 console.log(stderr); | 15 console.log(stderr); |
31 cb(err); | 16 cb(err); |
32 }); | 17 }); |
33 }); | 18 }); |
34 | 19 |
35 gulp.task('genproto_commonjs', function (cb) { | 20 gulp.task('genproto_commonjs', function (cb) { |
36 exec('mkdir -p commonjs_out && ' + protoc + ' --js_out=import_style=commonjs,b
inary:commonjs_out -I ../src -I commonjs -I . *.proto commonjs/test*/*.proto ' +
wellKnownTypes.join(' '), | 21 exec('mkdir -p commonjs_out && ' + protoc + ' --js_out=import_style=commonjs,b
inary:commonjs_out -I ../src -I commonjs -I . *.proto commonjs/test*/*.proto ../
src/google/protobuf/descriptor.proto', |
37 function (err, stdout, stderr) { | 22 function (err, stdout, stderr) { |
38 console.log(stdout); | 23 console.log(stdout); |
39 console.log(stderr); | 24 console.log(stderr); |
40 cb(err); | |
41 }); | |
42 }); | |
43 | |
44 gulp.task('genproto_commonjs_wellknowntypes', function (cb) { | |
45 exec('mkdir -p commonjs_out/node_modules/google-protobuf && ' + protoc + ' --j
s_out=import_style=commonjs,binary:commonjs_out/node_modules/google-protobuf -I
../src ' + wellKnownTypes.join(' '), | |
46 function (err, stdout, stderr) { | |
47 console.log(stdout); | |
48 console.log(stderr); | |
49 cb(err); | |
50 }); | |
51 }); | |
52 | |
53 gulp.task('genproto_wellknowntypes', function (cb) { | |
54 exec(protoc + ' --js_out=import_style=commonjs,binary:. -I ../src ' + wellKnow
nTypes.join(' '), | |
55 function (err, stdout, stderr) { | |
56 console.log(stdout); | |
57 console.log(stderr); | |
58 cb(err); | 25 cb(err); |
59 }); | 26 }); |
60 }); | 27 }); |
61 | 28 |
62 gulp.task('dist', ['genproto_wellknowntypes'], function (cb) { | 29 gulp.task('dist', function (cb) { |
63 // TODO(haberman): minify this more aggressively. | 30 // TODO(haberman): minify this more aggressively. |
64 // Will require proper externs/exports. | 31 // Will require proper externs/exports. |
65 exec('./node_modules/google-closure-library/closure/bin/calcdeps.py -i message
.js -i binary/reader.js -i binary/writer.js -i commonjs/export.js -p . -p node_m
odules/google-closure-library/closure -o compiled --compiler_jar node_modules/go
ogle-closure-compiler/compiler.jar > google-protobuf.js', | 32 exec('./node_modules/google-closure-library/closure/bin/calcdeps.py -i message
.js -i binary/reader.js -i binary/writer.js -i commonjs/export.js -p . -p node_m
odules/google-closure-library/closure -o compiled --compiler_jar node_modules/go
ogle-closure-compiler/compiler.jar > google-protobuf.js', |
66 function (err, stdout, stderr) { | 33 function (err, stdout, stderr) { |
67 console.log(stdout); | 34 console.log(stdout); |
68 console.log(stderr); | 35 console.log(stderr); |
69 cb(err); | 36 cb(err); |
70 }); | 37 }); |
71 }); | 38 }); |
72 | 39 |
73 gulp.task('commonjs_asserts', function (cb) { | 40 gulp.task('commonjs_asserts', function (cb) { |
74 exec('mkdir -p commonjs_out/test_node_modules && ./node_modules/google-closure
-library/closure/bin/calcdeps.py -i commonjs/export_asserts.js -p . -p node_modu
les/google-closure-library/closure -o compiled --compiler_jar node_modules/googl
e-closure-compiler/compiler.jar > commonjs_out/test_node_modules/closure_asserts
_commonjs.js', | 41 exec('mkdir -p commonjs_out/test_node_modules && ./node_modules/google-closure
-library/closure/bin/calcdeps.py -i commonjs/export_asserts.js -p . -p node_modu
les/google-closure-library/closure -o compiled --compiler_jar node_modules/googl
e-closure-compiler/compiler.jar > commonjs_out/test_node_modules/closure_asserts
_commonjs.js', |
75 function (err, stdout, stderr) { | 42 function (err, stdout, stderr) { |
76 console.log(stdout); | 43 console.log(stdout); |
77 console.log(stderr); | 44 console.log(stderr); |
78 cb(err); | 45 cb(err); |
79 }); | 46 }); |
80 }); | 47 }); |
81 | 48 |
82 gulp.task('commonjs_testdeps', function (cb) { | 49 gulp.task('commonjs_testdeps', function (cb) { |
83 exec('mkdir -p commonjs_out/test_node_modules && ./node_modules/google-closure
-library/closure/bin/calcdeps.py -i commonjs/export_testdeps.js -p . -p node_mod
ules/google-closure-library/closure -o compiled --compiler_jar node_modules/goog
le-closure-compiler/compiler.jar > commonjs_out/test_node_modules/testdeps_commo
njs.js', | 50 exec('mkdir -p commonjs_out/test_node_modules && ./node_modules/google-closure
-library/closure/bin/calcdeps.py -i commonjs/export_testdeps.js -p . -p node_mod
ules/google-closure-library/closure -o compiled --compiler_jar node_modules/goog
le-closure-compiler/compiler.jar > commonjs_out/test_node_modules/testdeps_commo
njs.js', |
84 function (err, stdout, stderr) { | 51 function (err, stdout, stderr) { |
85 console.log(stdout); | 52 console.log(stdout); |
86 console.log(stderr); | 53 console.log(stderr); |
87 cb(err); | 54 cb(err); |
88 }); | 55 }); |
89 }); | 56 }); |
90 | 57 |
91 gulp.task('make_commonjs_out', ['dist', 'genproto_commonjs', 'genproto_commonjs_
wellknowntypes', 'commonjs_asserts', 'commonjs_testdeps'], function (cb) { | 58 gulp.task('make_commonjs_out', ['dist', 'genproto_commonjs', 'commonjs_asserts',
'commonjs_testdeps'], function (cb) { |
92 // TODO(haberman): minify this more aggressively. | 59 // TODO(haberman): minify this more aggressively. |
93 // Will require proper externs/exports. | 60 // Will require proper externs/exports. |
94 var cmd = "mkdir -p commonjs_out/binary && mkdir -p commonjs_out/test_node_mod
ules && "; | 61 var cmd = "mkdir -p commonjs_out/binary && mkdir -p commonjs_out/test_node_mod
ules && "; |
95 function addTestFile(file) { | 62 function addTestFile(file) { |
96 cmd += 'node commonjs/rewrite_tests_for_commonjs.js < ' + file + | 63 cmd += 'node commonjs/rewrite_tests_for_commonjs.js < ' + file + |
97 ' > commonjs_out/' + file + '&& '; | 64 ' > commonjs_out/' + file + '&& '; |
98 } | 65 } |
99 | 66 |
100 glob.sync('*_test.js').forEach(addTestFile); | 67 glob.sync('*_test.js').forEach(addTestFile); |
101 glob.sync('binary/*_test.js').forEach(addTestFile); | 68 glob.sync('binary/*_test.js').forEach(addTestFile); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 function (err, stdout, stderr) { | 101 function (err, stdout, stderr) { |
135 console.log(stdout); | 102 console.log(stdout); |
136 console.log(stderr); | 103 console.log(stderr); |
137 cb(err); | 104 cb(err); |
138 }); | 105 }); |
139 }); | 106 }); |
140 | 107 |
141 gulp.task('test', ['test_closure', 'test_commonjs'], function(cb) { | 108 gulp.task('test', ['test_closure', 'test_commonjs'], function(cb) { |
142 cb(); | 109 cb(); |
143 }); | 110 }); |
OLD | NEW |