googleapis / packman

Google API package creator
https://npmjs.com/package/googleapis-packman
Apache License 2.0
13 stars 18 forks source link

packman fails when generating grpc nodejs client for errorreporting api #110

Closed swcloud closed 8 years ago

swcloud commented 8 years ago

(venv) songwang@~/IdeaProjects/vtk/selfservice$ execute_pipeline.py --config "./googleapis/gapic/api/artman_errorreporting.yaml,./googleapis/gapic/lang/common.yaml" --language nodejs --env=remote GrpcClientPipeline Final args: repo_root : /tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219 language : nodejs stage_output : False final_repo_dir : /tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/gcloud-node/packages/errorreporting import_proto_path : ['/tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/googleapis'] staging_repo_dir : /tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/client-library-staging/generated toolkit_path : /tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/toolkit pipeline_id : 4bd7e6db-3f42-4396-a024-bba85bd99219 api_name : google-devtools-clouderrorreporting-v1beta1 output_dir : /tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/artman/output gapic_language_yaml : ['./googleapis/gapic/lang/nodejs_gapic.yaml'] gapic_api_yaml : ['/tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/googleapis/google/devtools/clouderrorreporting/v1beta1/errorreporting_gapic.yaml'] src_proto_path : ['/tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/googleapis/google/devtools/clouderrorreporting/v1beta1'] service_yaml : ['/tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/googleapis/google/devtools/clouderrorreporting/errorreporting.yaml'] proto_gen_pkg_deps : ['google-common-protos'] Create GrpcClientPipeline instance. Starting poster with name: poster-144886 Posted: ZookeeperJob: job-from-poster-144886 (priority=JobPriority.NORMAL, uuid=fa4158b8-e3ea-4d98-9596-cbc9f25fee6b, details={}) Job status: UNCLAIMED Job status: CLAIMED Job status: COMPLETE The remote pipeline execution failed. It will wait for 30 secs before fetching the log for remote pipeline execution. copying /usr/lib/node_modules/googleapis-packman/templates/nodejs/PUBLISHING.md => /tmp/artman/4bd7e6db-3f42-4396-a024-bba85bd99219/artman/output/google-devtools-clouderrorreporting-v1beta1-gen-nodejs/nodejs/PUBLISHING.md /usr/lib/node_modules/googleapis-packman/lib/api_repo.js:447 var args = this.protoCompilerArgs.concat( ^

TypeError: Cannot read property 'protoCompilerArgs' of null at _collectProtoDeps (/usr/lib/node_modules/googleapis-packman/lib/api_repo.js:447:18) at /usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:349:13 at /usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:230:13 at _arrayEach (/usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:81:9) at _each (/usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:72:13) at async.forEachOf.async.eachOf (/usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:229:9) at _asyncMap (/usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:348:9) at Object.map (/usr/lib/node_modules/googleapis-packman/node_modules/async/lib/async.js:331:20) at ApiRepo.makeProtoBasedNodeModule (/usr/lib/node_modules/googleapis-packman/lib/api_repo.js:583:21) at makeModule (/usr/lib/node_modules/googleapis-packman/lib/api_repo.js:619:15)

You can always run the following command to fetch the log entry: gcloud beta logging read "logName=projects/vkit-pipeline/logs/4bd7e6db-3f42-4396-a024-bba85bd99219"

geigerj commented 8 years ago

@jmuk is already looking at this. It looks like the issue is that at the call point of _collectProtoDeps we bound null to the value of this when in fact this should refer to ApiRepo -- this is probably caused by bad refactoring on my part when I changed collectProtoDeps from being a function to being a method.

jmuk commented 8 years ago

https://github.com/googleapis/packman/pull/95 will contain the fix.

geigerj commented 8 years ago

@swcloud just as an FYI -- this change won't get picked up until I roll out a new version of the remote environment. I'll keep you posted when that happens.