Commit Graph

242 Commits

Author SHA1 Message Date
Bo Yang
bc742640ef Merge remote-tracking branch 'origin/3.8.x' 2019-06-21 04:01:45 +00:00
Adam Cozzette
21773efa23 Include protobuf_deps.bzl in generated release archives
This fixes #5918.
2019-06-18 10:07:18 -07:00
Hao Nguyen
634d704d23 Merge branch '3.8.x' into 3.8.x-201905311515 2019-05-31 15:18:39 -07:00
Hao Nguyen
0a67788a46 Include the new Java util files in Makefile.am 2019-05-31 06:26:08 -07:00
Hao Nguyen
87f83cc1e8 Make sure to include zlib.BUILD in our distribution 2019-05-13 16:38:07 -07:00
Sydney Acksman
9e89b6e70a C# Proto2 feature : Extensions (#5350)
* Compiler changes (extensions)

* Generated changes (extensions)

* Library changes (extensions)

* Adjusted a summary to indicate ContainingType can be null for extensions

* Compiler changes (custom option review + access level review)

* Generated code changes (custom options + access review)

* Library changes (custom options + access review)

* Support C# 6 with library changes

* Access HasValue by property

* Set access level of all extension classes to internal (revert in next PR)

* Added null checks to custom options

* Rebase on master and regenerate Conformance

* Removed second dictionary from ExtensionSet

* Rebased compiler changes

* Rebased generated code changes

* Rebased library changes + review changes

* Add more safety checks to extension accessors

* Remove instances where extension sets were unnecessarily allocated

* Remove cleared items from sets
Empty sets are now made null
IExtensionMessage -> IExtendableMessage

* Remove dead code from IExtensionValue impls

* Clean both repeated and single value extensions

* Add GetOrRegister method for repeated fields and allow clearing repeated extensions

* Add type safe ClearExtension methods, remove non-generic IExtendableMessage interface.

* Simplify ExtensionSet.TryMergeFieldFrom

* Rebase on master to resolve conflicts

* Fix Makefile.am

* Add ObjectIntPair to Makefile.am
2019-05-03 13:54:41 -07:00
Hao Nguyen
ef1e8e7172 Add module for JavaLite and fix builds 2019-04-09 06:48:01 -07:00
Jon Skeet
66fb3ce5fc Add C# benchmark files to EXTRA_DIST in Makefile.am 2019-03-13 15:26:57 +00:00
Jan Tattermusch
db1d4dc4c1
Merge pull request #5876 from jtattermusch/csharp_win_tests
C# testing improvements
2019-03-13 07:27:29 +01:00
David Supplee
93533f780b Add terminating character to zend_lookup_class call (#5871)
* add terminating character

* adjust name length input

* add test cases

* correct script name

* Misc fixes

* add new script to EXTRA_DIST list
2019-03-12 21:30:06 -07:00
Jan Tattermusch
d305c2ac4b update csharp_EXTRA_DIST 2019-03-12 05:47:53 -04:00
Sydney Acksman
15fab9109d Bump target frameworks of C# programs from netcoreapp1.0 to netcoreapp2.1 (#5838)
* Bump target frameworks from netcoreapp1.0 to netcoreapp2.2.
Move global.json up to root of repo, change SDK ver to 2.2.100
Change .net core sdk in dockerfile for kokoro to ver 2.2.100

* Re-add curl install

* Change all exe target to 2.1

* Fix incorrect versions in global.json and Dockerfile

* Downgrade version to 2.1 to match exe targets

* introduce separate testing Dockerfile for C#

* revert changes to the shared Dockerfile

* use netcoreapp2.1 for C# conformance tests

* use language specific dockerfile for testing C#

* Edit compatibility tests script to use parameters instead of file copies

* install dotnet SDK on windows before running the tests

* update csharp_EXTRA_DIST
2019-03-11 13:03:58 -07:00
Hao Nguyen
d0f91c863a
Down integrate to Github (#5839)
* Down integrate to github
2019-03-06 12:39:12 -08:00
Joshua Haberman
f5e8ee41dd
PHP updates for new upb APIs (#5604) 2019-03-06 12:04:17 -08:00
Bo Yang
cb6fa92ee8 Merge branch '3.7.x' 2019-03-04 10:18:18 -08:00
Paul Yang
582743bf40
Update version number to 3.7.0 (#5793)
* Update version number to 3.7.0

* Add php/releash.sh to Makefile.am

* Make cpp_distcheck exit on fail
2019-02-28 12:55:14 -08:00
Yilun Chong
429d2ae19f
Merge branch 'master' into integration 2019-02-24 17:17:17 -08:00
Yilun Chong
d8c2501b43 down integration from internal 2019-02-22 18:13:33 +08:00
Adam Cozzette
9e381c05f5 Include compiler_config_setting.bzl in release tarballs (#5715)
This should fix #5696.
2019-02-12 14:13:32 -08:00
Joe Bolinger
64eb9b6e85 Add more descriptive error messages to init methods in Ruby (#5659)
* add more descriptive error messages to init methods

* add type errors test to Makefile.am
2019-02-06 07:57:13 -08:00
Thomas Van Lenten
bd00671b92 ObjC: Add a Xcode project for tvOS.
The CocoaPod (and source) have always support tvOS, but adding the project
makes it easier to run the tests and debug if there ever were an issue.

(not adding a watchOS project at the moment because Apple doesn't provide
 XCTest, so all it could do is build the library. We still support that,
 just can't "test" it.)
2019-01-08 08:22:12 -05:00
Adam Cozzette
e03c0d22a7 Updated Bazel workspace in examples/ to handle zlib dependency
To make this work, I created a symlink to the existing zlib.BUILD file.
Maybe there is a better way to do this, but this is at least a quick
workaround to fix the build.
2018-12-11 16:52:50 -08:00
Dave MacLachlan
ef3a725002 Make sure Objective C Proto compiler doesn't "duplicate" prefixes unnecessarily.
In some cases proto files that want/need to use the objc_class_prefix option have
types that already have the prefix on a subset of their names. In this case we don't
want to duplicate the prefix.

Added tests for this (and prefixes in general).
2018-11-27 08:06:36 -05:00
Thomas Van Lenten
92a879b2eb Add a unittest for ObjC TextFormat extension support. 2018-11-14 17:06:51 -05:00
Adam Cozzette
cf900534a7 Removed stubs/singleton.h
This header is no longer used, so we can delete it. I also tweaked
Makefile.am to fix the distcheck test.
2018-11-13 10:28:49 -08:00
Adam Cozzette
fbd69fad43 Updated Makefiles 2018-11-09 11:40:27 -08:00
Benjamin Krämer
80e530dabf Ported FieldMaskUtil from Java to C# (#5045)
* Ported FieldMaskUtil from Java to C#

* Merged FieldMaskUtil into FieldMaskPartial

- Removed FieldMaskUtil
- Moved FieldMaskTree to root
- Updated tests

* Improved tests

- Removed internal method FieldMaskTree.GetFieldPaths
- Proof FieldMask.Paths only contains expected values

* Added FieldMaskTreeTest to Makefile

* Added FieldMaskTree to Makefile
2018-10-08 12:54:05 -07:00
michaelbausor
6a51c03823 PHP: Add support for primitive types in setters (#5126)
* Add support for primitive types in setters

* Update to address PR feedback

* Add tests and fixes for repeated fields

* Remove repeated field code, add getters

* Cleanup, test getters and oneofs

* Move boxing logic into separate class

* Add tests for wrapper type constructor args

* Update to add new setXXXValue methods

* Fix tests for invalid values

* Fix c extension for wrapper accessors

* Fix the bug that well known types didn't call Message_construct

* Address PR comments

* Refactoring init message with array logic

* Add include path to protoc

* Add missing TSRM_LS defintion

* Fix TSRM_LS

* Fix dist check
2018-10-07 16:56:41 -07:00
Paul Yang
011f67035c
Fix broken tests by #4816 (#5221)
* Fix dist check for ruby

* Fix dist check
2018-10-04 10:29:21 -07:00
Sydney Acksman
54176b26a9 C# Proto2 feature : Field presence and default values (#4642)
* Compiler changes

* Generated code changes

* Library changes

* Compiler style changes

* Generated style changes

* Fix Windows build errors

* Implement changes from review

* Reintroduce proto2 check

* Compiler changes (required handling review)

* Generated code changes (required handling review)

* Library changes (required handling review

* Field presence rewrite (compiler changes)

* Field presence rewrite (generated code changes)

* Compiler comment

* IFieldAccessor.HasValue library implementation

* Remove Clear methods and default values from proto3 code (Compiler)

* Remove Clear methods and default values from proto3 code (Generated)

* Remove Clear methods and default values from proto3 code (Library)

* Fix distcheck error

* Rewrite default string values to use base64 and convert

* Library changes (IMessage2)

* Compiler changes (IMessage2)

* Generated changes (IMessage2)

* Rebased and regenerated

* Compiler changes (initialized extension)

* Generated changes (initialized extension)

* Library changes (initialized extension)

* Refactor MessageExtensions.IsRequired

* Move string default value creator and bytes default value creator back to seperate methods

* Dead code cleanup

* Fixed segmentation fault
Removed unused header method declarations
2018-09-24 13:42:24 -07:00
Jon Skeet
0b314d745b Add files to Makefile.am to fix dist targets 2018-09-22 09:09:15 +01:00
Joshua Haberman
d340bdf508
Merge pull request #5078 from haberman/conformance-cmake
Added cmake build files for the conformance test runner.
2018-09-02 10:07:14 -07:00
Josh Haberman
0e3fa28e47 Added missing file to Makefile.am. 2018-08-24 17:09:50 -07:00
Feng Xiao
acd5b05e9f Fix failing tests.
1. Fix C++ tests.
  * Add missing files to Makefile.am and fix distcheck in tests.sh
  * Remove BUILT_SOURCES from conformance/Makefile.am.
  * Add some missing override keyword.
  * Add a type cast to int64 because our StrCat() in stubs can't handle size_t.
2. Fix Java tests.
  * Add missing test dependency on guava in pom.xml.
  * Include newly referenced test data in test resources.
  * Manually fix map_lite_test.proto which is overwritten because it's mapped
    from map_test.proto in google3.
  * Add back "optimize_for = LITE_RUNTIME" which is still needed to keep the
    opensource test passing as it's still running lite tests.
  * Add a type cast in newBuilder() because without it the code doesn't compile
    with openjdk javac 1.8 (the compiler can't figure if it's the right type
    due to complex generic typing).
3. Fix Python tests.
  * Remove/replace references to <hash_map>.
  * Suppress more warnings in setup.py.
  * Replace incorrect header inclusion for google/protobuf/proto_api.h.
  * Add strings::EndsWith to google/protobuf/stubs/strutil.h because it's
    referenced in the updated python C extension code.
  * Replace proto2 with google::protobuf. The proto2 name is leaked to
    opensource because we removed the subsitition rule for proto2 namespace
    but only fixed C++ source code and forgot to update python C extension code.
2018-08-09 21:21:01 -07:00
Feng Xiao
6bbe197e9c Down-integrate from google3. 2018-08-08 17:00:41 -07:00
Joshua Haberman
0ea3d74c3d
Merge pull request #4299 from hekike/feat/add-commonjs-strict-import-style
Feat: add import-style=commonjs_strict option to the compiler
2018-07-02 13:58:42 -07:00
Sydney Acksman
1f77342b78 Add msbuild targets to C# tools for protoc compilers (#4648)
* Added props to C# tools

* Add targets file to makefile.am
2018-06-21 14:53:31 -07:00
Thomas Colthurst
7c6514245b Introduce Proto C API; based on cl/198113115 by amauryfa 2018-05-30 10:33:02 -04:00
Brent Shaffer
6737954661 PHP namespaces for nested messages and enums (#4536)
* uses namespaces for nested messages and enums

* fixes namespaces for PHP dist

* fixes namespace for Descriptors, adds Cardinality and Kind

* fixes nested namespaces for reserved words and adds tests

* adds tests and generator fix for php class prefixes

* fixes escaping of protobuf packages, enum comments, misc others

* nice refactor of generated code

* adds class files for backwards compatibility

* simplifies code with templates

* adds compatibility files to makefile

* cleanup of generator and fixes nested namespace bug

* regenerates proto types

* remove internal BC classes

* adds deprecated warning, adds methods back

* simplifies if statement

* fixes dist files

* addresses review comments

* adds back TYPE_URL_PREFIX constant

* adds @deprecated to old nested class files

* skips tests which require a separate process when protobuf.so is enabled

* Adds tests for legacy nested classes that do not require separate processes to test

* uses legacy names for GPBUtil message check

* adds block for IDE @deprecated message

* Namespace for nested message/enum in c extension

* Remove unused code
2018-05-24 13:39:41 -07:00
Bo Yang
090fe398ef Add missing ruby/tests/test_ruby_package.proto 2018-05-22 09:53:03 -07:00
Peter Marton
13f94b4092 Fix strict JS generator with import in a protofile 2018-05-08 09:23:56 -07:00
Peter Marton
3c4e368473 Test: cover import_style=commonjs_strict 2018-05-08 09:23:56 -07:00
Jozef Izso
8233d46207 Include version.rc.in in distribution package 2018-04-28 10:53:54 +02:00
Thomas Van Lenten
b59da6d099 Remove the iOS Test App.
The tests can run as what Apple calls a Logic Test (under xctest), which means
it doesn't have to load an full UI App under the simulator, which speeds things
up a fair amount.
2018-04-20 17:26:38 -04:00
Feng Xiao
a29e2bfb3b Update Makefile.am for Java lite files. 2018-04-18 12:18:38 -07:00
Thomas Hisch
451e0446ab Add __init__.py files to compiler and util subpackages (#4117)
The compiler and util subpackages are created by the build_py class in
setup.py. This has caused an issue in the protobuf package in
conda-forge (https://github.com/conda-forge/protobuf-feedstock/issues/40),
which is fixed by this commit.
2018-04-09 12:43:10 -07:00
Thomas Van Lenten
dce8229a38 Add the files added in #4485. 2018-04-06 10:52:31 -04:00
Feng Xiao
e7e6c6b8d1
Merge pull request #4283 from ObsidianMinor/csharp/better-test-runners
[C#] Update test project to be used with dotnet test and Visual Studio Test Explorer
2018-04-04 17:01:09 -07:00
Thomas Van Lenten
e998b8ff66 Add compile test sources for to test include order.
To ensure all headers aren't dependent on other things being imported
before/after them, make a source that just imports each header and add
it to the unittesting target, that way we ensure it can be included on
its own with ordering issues.

Also do this testing with a few generated headers that aren't part of
the library to help ensure the different generated imports needed are
complete.
2018-04-02 09:54:29 -04:00
Jon Skeet
7b19d20882 Add extra C# file to Makefile.am 2018-03-27 08:44:42 +01:00