Commit Graph

3707 Commits

Author SHA1 Message Date
Feng Xiao
16adea3ddc Add a test to catch sign-comparison warnings.
grpc build treates them as errors and such issues (protobuf change
breaks grpc) has been reported repeatedly. For example:
  https://github.com/google/protobuf/issues/1813

Change-Id: I077c4557cf3effd5195f88802c38999b884edc30
2016-07-22 14:15:40 -07:00
Feng Xiao
2ba058c66c Merge pull request #1822 from xfxyjwf/java6
Update travis tests for Java.
2016-07-21 21:03:55 +00:00
Feng Xiao
ad49ed78f3 Update travis tests for Java.
1. Set JAVA_HOME so mvn can pick up the correct java version.
2. Remove jdk6 tests. It has been broken for a while and remain undetected as
   mvn is actually using java 7 to build the code. Given that we have
   set -source and -target to 6 in the pom.xml and the built .jar
   should be usable by java 6, having a dedicated java 6 test doesn't
   seem necessary (assuming very few Java 6 users want to compile protobuf
   Java from source).

Change-Id: I4f14da772632df3e47801f180198242b306c3f0f
2016-07-21 11:37:46 -07:00
Feng Xiao
30d8416c1c Merge pull request #1811 from xfxyjwf/fixdist
Add missing files in EXTRA_DIST and add a test.
2016-07-20 20:54:27 +00:00
Feng Xiao
a4f68b16a0 Add missing files in EXTRA_DIST and add a test.
Change-Id: If80725402173cdf50969cb08e7fe5affe3532fb2
2016-07-20 13:53:44 -07:00
Feng Xiao
af8732ec11 Merge pull request #1810 from xfxyjwf/versioning
Versioning Java GeneratedMessage class
2016-07-20 20:52:21 +00:00
Jon Skeet
e465f26310 Merge pull request #1812 from jskeet/fix-travis
Use the dotnet-release package feed for Travis.
2016-07-20 11:32:33 -07:00
Joshua Haberman
dd3d9d65e5 Merge pull request #1447 from seishun/defaults
JavaScript: Make implicit defaults consistent with explicit defaults
2016-07-20 10:43:21 -07:00
Nikolai Vavilov
73e0b49272 fix debug.dump 2016-07-20 17:11:04 +03:00
Jon Skeet
deaea21315 Use the dotnet-release package feed for Travis.
See https://github.com/dotnet/core/issues/227 for background.
2016-07-19 17:57:46 -07:00
Feng Xiao
60cb094b7b Add files missing from "make dist".
Change-Id: I56a6cce613462794f172ff2e62b25d8a9fc162f3
2016-07-19 16:15:42 -07:00
Feng Xiao
36adb40064 Update compatibility tests as well.
Change-Id: I991396ac6e51e32f3ab1daa501d625f34c3ecb04
2016-07-19 14:57:14 -07:00
Feng Xiao
2e30301837 Versioning Java GeneratedMessage.
Change-Id: Ib2bb5042deaabdf452d5be2ad1ce40d739ad8d1b
2016-07-19 14:32:51 -07:00
Nikolai Vavilov
e4b129f304 restore old behavior for toObject 2016-07-19 10:34:58 +03:00
Nikolai Vavilov
db1b2a06e3 nits 2016-07-19 09:39:52 +03:00
Nikolai Vavilov
970a4fda17 Make implicit defaults consistent with explicit defaults 2016-07-19 09:39:52 +03:00
Joshua Haberman
77b08afaf8 Merge pull request #1802 from haberman/jsmapbin
JavaScript: segregate references to binary functionality
2016-07-18 22:52:07 -07:00
Josh Haberman
e0e7377119 Fix goog.require()/goog.provide() ordering. 2016-07-18 20:49:11 -07:00
Feng Xiao
24ac9c0cb4 Merge pull request #1803 from xfxyjwf/javadoc
Include javadoc/source in Java release packages.
2016-07-19 00:06:01 +00:00
Feng Xiao
fa52702408 Include javadoc/source in Java release packages.
Also fixed javadoc errors.

[ci skip]
2016-07-18 15:59:09 -07:00
Josh Haberman
7429b91eda JavaScript: move extension binary info to separate struct. 2016-07-18 15:58:58 -07:00
Feng Xiao
2078f614e4 Merge remote-tracking branch 'origin/3.0.0-beta-4' 2016-07-18 14:57:47 -07:00
Josh Haberman
923eae8b16 JavaScript maps: move binary callbacks out of constructor.
This change will help us separate binary support into
separate files, because we only refer to binary serialization
functions in the actual binary serialization paths.
2016-07-18 14:46:12 -07:00
Feng Xiao
56855f6f00 Merge pull request #1792 from xfxyjwf/changelog
Added 3.0.0-beta-4 changelog.
2016-07-18 18:08:18 +00:00
Feng Xiao
82b43d1f41 Remove Java deterministic API.
Change-Id: I43f7e04a53d1445dfa86db310bdb18ceb446398c
2016-07-18 10:36:04 -07:00
Thomas Van Lenten
b6a620da13 Merge pull request #1801 from thomasvl/oneof_framework_build_issues
Use public methods to fetch oneofs in generated code.
2016-07-18 13:01:35 -04:00
Thomas Van Lenten
2e98ed5d17 Use public methods to fetch oneofs in generated code.
When building into frameworks, the generated code doesn't always have direct
access to the proto internals.  Instead of opening up the access, just use the
public method to fetch the correct oneof.

Fixes https://github.com/google/protobuf/issues/1789
2016-07-18 11:10:02 -04:00
Feng Xiao
3d9726f919 Mention Java lite in the changelog.
Change-Id: Ic07a7c664930209974244c66885d672288982610
2016-07-15 15:26:44 -07:00
Sergio Campamá
b99577c5ac Exposes the currently registered extensions for a message and removes the internal sortedExtensionsInUse 2016-07-15 18:04:01 -04:00
Sergio Campamá
f6d1d1a17e Uses head version of rvm to avoid shell_update_session not found error (#1791)
Uses head version of rvm to avoid shell_update_session not found error

Fixes #1786
2016-07-15 16:59:09 -04:00
Feng Xiao
1349fb8b14 Added 3.0.0-beta-4 changelog.
Change-Id: I997012e7e9b58d9ec8b2f59429d71c98d81aa40d
2016-07-15 12:19:15 -07:00
Feng Xiao
3a8d8ead4f Merge pull request #1787 from xfxyjwf/steppingstone
Fix compatibility issues for the future GeneratedMessageV3 change.
2016-07-15 11:45:56 -07:00
Feng Xiao
1bce70dddb Fix compatiblity issues.
Currently some public API methods are defined in GenreatedMessage.java
and they have a generric return type:
  class GeneratedMessage {
    class Builder<BuilderType extends Builder<BuilderType>> {
      public BuilderType setField(...);
      public BuilderType setExtension(...);
    }
  }
With these definitions, the compiled byte code of a callsite will have
a direct reference to GeneratedMessage. For example:
  fooBuilder.setField(...);
becomes:
  ##: invokevirtual // Method Builder.setField:(...)LGeneratedMessage.Builder
  ##: checkcast     // class Builder

This will prevent us from updating generated classes to subclass a
different versioned GeneratedMessageV3 class in the future (we can't do
it in a binary compatible way).

This change addresses the problem by overriding these methods directly
in the generated class:
  class Foo {
    class Builder extends GeneratedMessage.Builder<Builder> {
      public Builder setField(...) {
        return super.setField(...);
      }
    }
  }
After this, fooBuilder.setField(...) will be compiled to:
  ##: invokevirtual // Method Builder.setField:(...)LFoo.Builder

The callsites will no longer reference GeneratedMessage directly and we
can change Foo to subclass GeneratedMessageV3 without breaking binary
compatiblity.

The downside of this change is:
  1. It increases generated code size (though it saves some instructions
     on the callsites).
  2. We can never stop generating these overrides because doing that
     will break binary compatibility.

Change-Id: I879afbbc1325a66324a51565e017143489b06e97
2016-07-14 15:33:45 -07:00
Feng Xiao
0b6825516b Add missing golden test file. 2016-07-14 15:21:10 -07:00
Jon Skeet
e1f146bc4f Merge pull request #1785 from jskeet/merge-csharp
Merge C# changes from master to 3.0.0-beta4
2016-07-14 22:44:49 +01:00
Jon Skeet
b5ce5251fd Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform (#1727)
This also updates the version number to 3.0.0-beta4
2016-07-14 22:16:35 +01:00
Jon Skeet
5e0de1ebee Remove the overload for Add(RepeatedField<T>)
We now just perform the optimization within AddRange itself.

This is a breaking change in terms of "drop in the DLL", but is
source compatible, which should be fine.
2016-07-14 22:14:51 +01:00
Jon Skeet
2ee1e52380 Optimize AddRange for sequences implementing ICollection
(Also fix a few more C# 6-isms.)
2016-07-14 22:14:51 +01:00
Jon Skeet
b053b9211b Implement RepeatedField.AddRange.
This fixes issue #1730.
2016-07-14 22:14:51 +01:00
Jon Skeet
d9334ea8d9 Improve exception throwing implementation in collections 2016-07-14 22:14:51 +01:00
Jon Skeet
10a8fb4e73 Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform (#1727)
Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform

This also updates the version number to 3.0.0-beta4
2016-07-14 22:01:47 +01:00
Feng Xiao
4e0d05138a Merge pull request #1781 from xfxyjwf/update_version
Update version number to 3.0.0-beta-4
2016-07-14 12:59:14 -07:00
Feng Xiao
c2ebdec355 Update version number in AssemblyInfo.cs. 2016-07-14 10:46:24 -07:00
Jisi Liu
8b659b226a Merge pull request #1783 from xfxyjwf/fixlite
Comment out lite conformance test.
2016-07-14 09:34:05 -07:00
Feng Xiao
047a3b4852 Exclude Java lite module from parent pom.xml 2016-07-13 18:09:10 -07:00
Feng Xiao
dd37b992be Comment out lite conformance test.
The 'lite' generator flag is no longer supported.
2016-07-13 16:44:27 -07:00
Feng Xiao
932f94e16e Update version number to 3.0.0-beta-4 2016-07-13 16:08:47 -07:00
Feng Xiao
06a02488ce Add missing LIBPROTOBUF_EXPORT 2016-07-13 16:05:50 -07:00
Feng Xiao
7a7913e442 Add missing LIBPROTOBUF_EXPORT. 2016-07-13 15:45:08 -07:00
Feng Xiao
443eb27c7c Update generated files. 2016-07-13 15:37:29 -07:00