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

Beta quality drop of Objective C Support. #480

Merged
merged 1 commit into from Jun 10, 2015

Conversation

thomasvl
Copy link
Contributor

@thomasvl thomasvl commented Jun 9, 2015

  • Add more to the ObjC dir readme.
  • Merge the ExtensionField and ExtensionDescriptor to reduce overhead.
  • Fix an initialization race.
  • Clean up the Xcode schemes.
  • Remove the class/enum filter.
  • Remove some forced inline that were bloating things without proof of performance wins.
  • Rename some internal types to avoid conflicts with the well know types protos.
  • Drop the use of ApplyFunctions to the compiler/optimizer can do what it wants.
  • Better document some possible future improvements.
  • Add missing support for parsing repeated primitive fields in packed or unpacked forms.
  • Improve -hash.
  • Add *Count for repeated and map<> fields to avoid auto create when checking for them being set.

- Add more to the ObjC dir readme.
- Merge the ExtensionField and ExtensionDescriptor to reduce overhead.
- Fix an initialization race.
- Clean up the Xcode schemes.
- Remove the class/enum filter.
- Remove some forced inline that were bloating things without proof of performance wins.
- Rename some internal types to avoid conflicts with the well know types protos.
- Drop the use of ApplyFunctions to the compiler/optimizer can do what it wants.
- Better document some possible future improvements.
- Add missing support for parsing repeated primitive fields in packed or unpacked forms.
- Improve -hash.
- Add *Count for repeated and map<> fields to avoid auto create when checking for them being set.
@thomasvl
Copy link
Contributor Author

thomasvl commented Jun 9, 2015

This fixes issue #449

@thomasvl
Copy link
Contributor Author

thomasvl commented Jun 9, 2015

@TeBoring

fyi: this has the support for parsing both packed and unpacked repeated fields.

@TeBoring
Copy link
Contributor

TeBoring commented Jun 9, 2015

One question for objectivec runtime version number. Currently, it's 30000. How can it be used to differ 3.0.0-alpha-2 and 3.0.0-alpha-3?

@thomasvl
Copy link
Contributor Author

thomasvl commented Jun 9, 2015

Right now I have specifically not been bumping it with each release and instead will only pump it after the initial release when we are making changes that break things. i.e. it won't directly track the main proto library version. Since there things that will depend on protos and have to be distributed in binary form, we will have to be very careful when we bump the version otherwise it will cause a ripple of incompatibility.

@thomasvl
Copy link
Contributor Author

thomasvl commented Jun 9, 2015

btw - this seems to be the same sorta model as GOOGLE_PROTOBUF_VERSION, that doesn't have the alpha status in it. For now, I haven't given ObjC something like GOOGLE_PROTOBUF_MIN_PROTOC_VERSION or kMinHeaderVersionForLibrary for the runtime check. But all of them would need manual updating and not something that should be blindly changed without thinking through.

@TeBoring
Copy link
Contributor

TeBoring commented Jun 9, 2015

Besides GOOGLE_PROTOBUF_VERSION, we have other places for version: 9839c0c
These version numbers are for each language's own central repository. e.g., for python we have: https://pypi.python.org/pypi/protobuf
Any idea for having similar thing for objectivec?

@thomasvl
Copy link
Contributor Author

thomasvl commented Jun 9, 2015

There is also the podspec, https://cocoapods.org/?q=protobuf

I believe @jcanizales set that to alpha3 when it was submitted, so we can push a final version when we drop alpha status.

I don't know podspecs well, what appears to matter more is what is in that repository vs. what is in the actual sources here.

@jcanizales
Copy link
Contributor

what appears to matter more is what is in that repository vs. what is in the actual sources here

Yes. Still, if everywhere else (per 9839c0c) "3.0.0-alpha-3" is currently used, let's by all means use that in the podspec too, to maintain sanity.

@TeBoring
Copy link
Contributor

Updated the version number for objective-c in #484

@TeBoring
Copy link
Contributor

LGTM

TeBoring added a commit that referenced this pull request Jun 10, 2015
Beta quality drop of Objective C Support.
@TeBoring TeBoring merged commit fb466c1 into protocolbuffers:master Jun 10, 2015
@thomasvl thomasvl deleted the objc_beta_drop branch June 10, 2015 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants