Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP for discussion: Custom descriptor options #280

Closed

Conversation

nerdrew
Copy link
Contributor

@nerdrew nerdrew commented Jan 25, 2016

This is a large PR with a ton of stuff jumbled together, but I have questions about how to slice it.

  1. Objections to moving all the test protos to spec/support/protos? This would include *.proto, *.pb.rb, and *.bin files (proto file, generated code, and raw proto bytes).

  2. 1 PR with a bunch of unrelated commits (e.g. 1 commit to cleanup raise_error warnings, 1 commit with an option to upcase enum names, 1 commit to move spec files, etc) vs a PR / commit?

  3. Thoughts on adding a flag for generating gRPC specific service stubs?

Note: one reason this PR appears so large is that I refreshed some of the google unittest.proto files from upstream (will break that into either its own commit or its own PR pending question 2 above).

cc @lukaszx0

- add SUPPORT_PATH, PROTOS_PATH helpers in specs
Custom field / method options can be added by extending the base proto
descriptor
enum names are not required to be Capitalized, but ruby constants are.
Add option to UPCASE all enum names
@nerdrew nerdrew force-pushed the custom-descriptor-options branch from 70b136b to 641f788 Compare January 26, 2016 06:34
@mmmries
Copy link
Member

mmmries commented Jan 26, 2016

I think the best path forward is the one that keeps the potentially dangerous changes together so that the maintainers can focus on the PRs that matter most.

I suggest:

  • 1 PR that just updates the upstream unit testing definitions and moves things into spec/support
    • it should be easy to see that this changes no behavior and only affects tests so we can verify it and get it merged right away
  • 1 PR for each small behavior change
    • this will be a bit more work for you, but makes it a lot more likely that your PRs will get looked at and merged quickly.
    • A PR that just cleans up raise_error warnings is easy to reason about and ship

@nerdrew
Copy link
Contributor Author

nerdrew commented Jan 27, 2016

Sounds Good. I'm going to trickle the PRs in so I don't have to rebase all over the place: #281 (fix rspec warnings)

@nerdrew
Copy link
Contributor Author

nerdrew commented Jan 27, 2016

Fix for PB_NO_TAG_WARNINGS pollution: #282

@nerdrew
Copy link
Contributor Author

nerdrew commented Jan 27, 2016

Consolidate, cleanup, and refresh protos from upstream: #283

@nerdrew
Copy link
Contributor Author

nerdrew commented Jan 27, 2016

Add missing deprecation requires: #284

@nerdrew
Copy link
Contributor Author

nerdrew commented Jan 27, 2016

First feature PR, add PB_ENUM_UPCASE option: #285

@nerdrew
Copy link
Contributor Author

nerdrew commented Jan 27, 2016

Closing this PR for now. Will open a new PR for the custom options / extensions after the others are merged.

@nerdrew nerdrew closed this Jan 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants