aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* add size alias for lengthGravatar Adam Greene2015-05-01
| | | | | | | | | | starting to make `RepeatedField` quack like an array additional changes: * make sure gemspec gets all ruby code files * add homepage in gem spec removes one of the warnings, and the gem spec authors are pushing everyone to include a homepage in the gem * remove excess whitespace in test suite to bring formatting inline with the rest of the file
* Merge pull request #327 from skippy/build-cleanupGravatar Chris Fallin2015-05-01
|\ | | | | ruby: build cleanups
| * build cleanupsGravatar Adam Greene2015-05-01
|/ | | | | | * update docs to simplify build steps * Gemfile.lock seemed to have an older version specified * do not check in the pkg dir
* Merge pull request #325 from TeBoring/masterGravatar Jisi Liu2015-04-30
|\ | | | | Generate pbconfig.h in generate_descriptor_proto.sh
| * Generate pbconfig.h in generate_descriptor_proto.shGravatar Bo Yang2015-04-30
|/
* Merge pull request #315 from brianduff/sync_from_aospGravatar Jisi Liu2015-04-29
|\ | | | | Sync nanoproto from AOSP
* \ Merge pull request #303 from xfxyjwf/wktGravatar Feng Xiao2015-04-29
|\ \ | | | | | | Include well-known type protos in "make install".
| | * Generate a CREATOR for each Parcelable message.Gravatar Jeff Davidson2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is less ideal from a dex count perspective because it requires a new variable for each message, and because most apps have proguard rules that will ensure that CREATOR classes are retained. However, it is required to be able to use nano protos inside of AIDL files, as the autogenerated AIDL code fails to compile otherwise. This is a substantial benefit as it allows for backwards-compatible parameters and return types in AIDL methods along the lines of safeparcel. Bug: 19084705 Change-Id: I66a2c0424b96cf8ff6b631b186cc4f9407dfc1f4
| | * Throw OutOfSpaceException instead of IllegalArgumentException.Gravatar Charles Munger2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a MessageNano containing a String is serialized into a buffer that is too small to contain it, and the buffer's boundary happens to be where the string field's length delimiting varint is serialized, and the string's length and 3*length have the same length when encoded as a varint, an IllegalArgumentException is thrown rather than an OutOfSpaceException. Github issue: https://github.com/google/protobuf/issues/292 Change-Id: If478d68cf15bfd0662252d008e42b2bf1ff1c75e
| | * Inline unknownFieldData{Equals,HashCode} to generated code.Gravatar Brian Duff2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out dex (apparently) was inlining these protected final methods from ExtendableMessageNano into every message class. Removing these methods from the base class and inlining their code reduces the method count by 2 methods / message when the store_unknown_fields option is on. Change-Id: I0aa09f2016d39939c4c8b8219601793b8fab301f
| | * Expose generate_clear as an option.Gravatar Brian Duff2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I wasn't able to get the clear() method to inline into the constructor when optimizations are on in proguard. As a result, every message has an extra superfluous kept method assuming the app never uses clear() directly. There are a couple of instances where setting this option false is necessary in order to get code dexing successfully without hitting the method limit, e.g. https://goto.google.com/tltzq In this example, I tried turning on the method/inlining/unique and method/inlining/short optimizations before resorting to adding the generate_clear option, but the method count did not decrease. The clear() methods were contributing over a thousand extra methods. Change-Id: If6a9651d6a59cdf70b1040d8248779710ac73105
| | * Generate @IntDef annotations for nanoproto enums.Gravatar Jeff Davidson2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @IntDef is a support library annotation which allows build tools to determine the valid set of values for a given integer field when that field is intended to be restricted like an enum. This avoids the overhead of enums while still allowing for compile-time type checking in most circumstances. Change-Id: Iee02e0b49a8e069f6456572f538e0a0d301fdfd5
| | * Add reset() and position() to CodedOutputByteBufferNano.Gravatar Shai Barack2015-04-28
| | | | | | | | | | | | Change-Id: Ie2a9e36276ac35e10b3f8d379b5742d50a0374e9
| | * DO NOT MERGE Overloading createMessageTyped to accept a tag as an integer.Gravatar Kweku Adams2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building, some instances expect createMessageTyped to have the signature (int, Class, long), while others expect (int, Class, int). Simply having the former signature meant that builds expecting the latter would fail. This is a cherrypick of change b2a9d4321578139677c146ce37eba5e27e8f5c79 from master. Change-Id: Ib02dbf66173510f4edea32c7b43e82c1a7a38aa2
| | * Exclude cachedSize when printing fields.Gravatar Brian Duff2015-04-28
| | | | | | | | | | | | Change-Id: I85563b74237d38c1e447b7286f5f6e62d57e3d63
| | * Add clone() method support for nano.Gravatar Brian Duff2015-04-28
| | | | | | | | | | | | | | | | | | Upstreamed from Another Place (cr/57247854). Change-Id: I2aaf59544c0f5ae21a51891d8a5eeda1dc722c90
| | * When no clear() is generated, still initialize fields.Gravatar Brian Duff2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://android-review.googlesource.com/#/c/67890/ removed field initialization from the ctor, making it just call clear() instead. When I added the generate_clear option back (as part of the reftypes compat mode) in https://android-review.googlesource.com/#/c/109530/, I forgot to ensure that what clear() used to do was inlined in the constructor. This change fixes NPEs that are happening for users of reftypes_compat_mode who rely on unset repeated fields being empty arrays rather than null. Change-Id: Idb58746c60f4a4054b7ebb5c3b0e76b16ff88184
| | * Fix comments.Gravatar Brian Duff2015-04-28
| | | | | | | | | | | | | | | | | | Forgot to update these in https://android-review.googlesource.com/#/c/109809/ Change-Id: I53f838e2f134f53964161d9620d5ead00c4a3939
| | * Optimize measurement and serialization of nano protos.Gravatar Charles Munger2015-04-28
| | | | | | | | | | | | | | | | | | | | | Measuring the serialized size of nano protos is now a zero-alloc operation, and serializing a proto now allocates no memory (other than the output buffer) instead of O(total length of strings). Change-Id: Id5e2ac3bdc4ac56c0bf13d725472da3a00c9baec Signed-off-by: Charles Munger <clm@google.com>
| | * Fix bug with large extension field numbers.Gravatar Brian Duff2015-04-28
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, extensions with field numbers greater than 268435455 would result in a compile time error in generated code that looks something like this: Foo.java:3178: error: integer number too large: 3346754610 3346754610); This is because we were trying to represent the tag number (an unsigned int) using a java int constant, but java int constants are signed, and can't exceed Integer.MAX_VALUE. Fixed by declaring it as a long instead, and casting it down to an int in the implementation. This is safe, because the tag value always fits in 32 bis. Change-Id: If2017bacb4e20af667eaeaf9b65ddc2c30a7709f
| * Include well-known type protos in "make install".Gravatar Feng Xiao2015-04-23
|/
* Merge pull request #287 from zhangkun83/protoc-artifacts-fixupGravatar Jisi Liu2015-04-21
|\ | | | | A few fix-ups for protoc-artifacts
* \ Merge pull request #290 from xfxyjwf/wktGravatar Feng Xiao2015-04-20
|\ \ | | | | | | Include all well-known type protos.
| * | Include all well-known type protos.Gravatar Feng Xiao2015-04-20
|/ / | | | | | | Change-Id: I122f1cee71a8a739ea603e52582cb0fa9698f0ed
| * A few fix-ups.Gravatar Kun Zhang2015-04-16
|/ | | | | | | 1. make google/protobuf/stubs/pbconfig.h before making protoc, otherwise it won't build a freshly checked-out code. 2. Document the build environments that have been tested to work. 3. Add support for MINGW64
* Factored conformance tests so they can run in-process.Gravatar Josh Haberman2015-04-15
| | | | | | This is necessary for testing on iOS. Change-Id: I54ec1e3aa2e9fbfff9a6cd6580920a6a62069b63
* Merge pull request #284 from cfallin/issue-283Gravatar Joshua Haberman2015-04-13
|\ | | | | Fix for issue 283: JSON handler cleanup typo causing segfault.
| * Bump gem version to release bugfix.Gravatar Chris Fallin2015-04-13
| |
| * Fixed issue #283: crash in JSON handler cleanup.Gravatar Chris Fallin2015-04-13
|/ | | | Includes repro test case from @wfarr.
* Merge pull request #276 from tamird/drop-apputils-dependencyGravatar Joshua Haberman2015-04-11
|\ | | | | Migrate Python tests to stdlib unittest, drop apputils dependency.
| * [PYTHON] Drop dependency on 'google.apputils'.Gravatar Tamir Duberstein2015-04-10
| | | | | | | | Use stdlib's 'unittest' instead.
| * [PYTHON] Remove awkward duplicate testsGravatar Tamir Duberstein2015-04-10
| | | | | | | | We already run all tests with and without `--cpp_implementation`
| * [PYTHON] README: explain homebrew shenanigansGravatar Tamir Duberstein2015-04-10
| |
| * [PYTHON] Remove unnecessary `include_dir`Gravatar Tamir Duberstein2015-04-10
| |
| * [PYTHON] Clarify API version commentGravatar Tamir Duberstein2015-04-10
|/
* Merge pull request #278 from haberman/python-travisGravatar Joshua Haberman2015-04-09
|\ | | | | Added Python to Travis build and clarified setup instructions.
| * Export LD_LIBRARY_PATH.Gravatar Josh Haberman2015-04-09
| |
| * Fix for current directory in Travis tests.Gravatar Josh Haberman2015-04-09
| |
| * Added Python to Travis build and clarified setup instructions.Gravatar Josh Haberman2015-04-09
|/
* Merge pull request #271 from zhangkun83/protoc-artifact-mavenGravatar Jisi Liu2015-04-09
|\ | | | | Process to deploy artifacts for multiple platforms into a single release.
* \ Merge pull request #275 from tamird/remove-useless-fileGravatar Joshua Haberman2015-04-08
|\ \ | | | | | | Remove useless file that doesn't load
| * | Remove useless file that doesn't loadGravatar Tamir Duberstein2015-04-08
|/ / | | | | | | This file was broken in ada6556.
* | Merge gerrit/master and github/master.Gravatar Feng Xiao2015-04-08
|\ \
| * | Added first version of conformance tests.Gravatar Josh Haberman2015-04-08
| | | | | | | | | | | | Change-Id: Ib75664194491643f8e4f1503a2ed942a2d1e1655
| | * Strip Mac artifactsGravatar Kun Zhang2015-04-08
| | |
| | * Make the osx binary compatible with 10.7 and laterGravatar Kun Zhang2015-04-08
| | |
| | * Fix osx dependency check. otool prints the file name in the first line. ↵Gravatar Kun Zhang2015-04-07
| | | | | | | | | | | | Should skip it
| | * Add cross-compilation for Windows on Linux using MinGW. Check library ↵Gravatar Kun Zhang2015-04-07
| | | | | | | | | | | | dependencies of artifact
| | * List the platforms that we currently support. Document staging.repository.Gravatar Kun Zhang2015-04-07
| | |
| | * Process to deploy artifacts for multiple platforms into a singleGravatar Kun Zhang2015-04-06
| |/ |/| | | | | | | | | | | | | | | release. - Do not close the staging repository automatically - Added staging.repository property - Updated README with instructions for deployment - Fix building 32-bit Mac artifact