tree a193a15b5555d7d2b3958bdb017ba2eab3eeef78
parent 1c9f6753fe1cdac3301973cc5710f51e1ce48175
author Damien Neil <neild@users.noreply.github.com> 1519946776 -0800
committer GitHub <noreply@github.com> 1519946776 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJamIwYCRBK7hj4Ov3rIwAAdHIIACL55jUFQXEy83mdtH6P2XDZ
 Bp1ta7Fndrelkp6s0n9f5uxrrXHeAXpjUsfYfPAZr2m1kDaNxZcSfmQiI9N+j03c
 PC31CuHh5EpdSzH9TZRhS2OSmng0324XgpSplmD4xXOtcDe6v6QT7Dm3FMNsIC80
 YptfFkYoMvdMQu0bVl+p16uCuKysks/n+4XZT5IbkW54Bq50tk4AOgxi3tfDcx1Q
 l9IB51GUpWRWk3FWqGCk81ZXKTVxIfqlOc9jYGrHqeSMxyYr3/nPbJyzYwbeokGM
 SbGyUCQnD9QqdN5n8J1cKtfn7oPdhvIhSBiHGl9O3f+SW6QVwA2njyv0FuHxOSk=
 =Ka14
 -----END PGP SIGNATURE-----
 

protoc-gen-go: don't depend on input file ordering (#542)

Remove generate code dependencies on the order in which source files were
provided to the compiler. In other words, "protoc a.proto b.proto" produces
the same output as "protoc b.proto a.proto".

- Include the proto package version assertion in all files.

- Use the source file name and contents to generate unique var names for
  file descriptors, rather than the file index. In other words,
  "fileDescriptor_imp_81275c260ac30f8b" rather than "fileDescriptor0".

Makes the generated code more stable in the face of unrelated changes
(i.e., adding a new file to a package won't cause generated code for
other files in irrelevant ways), as well as trivial changes in the
protoc command line.

Removes the requirement that all files in a package be compiled at
the same time. Compiling each file individually will produce the same
results as compiling all at once.