* Add the kotlin and kotlin-lite directories to the main pom.xml
* Updated Kotlin versions to 3.17.0-rc1
* Fix Mac CI tests by resolving brew package conflict
This fixes MSVC (tested on MSVC2019 / 16.8) compilation error (line number is different, as I am working with protobuf 3.15.8:
```
google/protobuf/map_entry_lite.h:527: error C2760: syntax error: unexpected token ')', expected 'expression'
```
I believe [this](https://stackoverflow.com/questions/34696351/template-dependent-typename) explains why MSVC considers this to be a dependent template.
The test assertion is commented out, but this is causing some warnings
about an unused variable. This commit comments out the variable to fix
that problem.
* fix(ruby): Fix crash when calculating Message hash values on 64-bit Windows
* Better mapping for values outside the fixnum range
* Simpler downcasting of hash values
* Fix precedence
* Fix bundle on Ruby 2.4
* Add more testing for ReadOnlySpan parsing
* Update `AssertReadFromParseContext` to also run assertions for a
`ParseContext` initialized from a `ReadOnlySpan` of the given input.
* Remove passing `ReadOnlySpan` parameters by ref since they are not
altered and the type isn't large enough to benefit from performance
improvements for passing by `ref` or `in`
* Update `ParseContext` `Initialize` overloads for
`ReadOnlySpan<byte>`, going down to two (since nothing was calling the
overload that changed the recursion limit). The first now calls the
second to set the `buffer` and `state` on the context, and has
documentation to note that it is used to create a `ParserInternalState`
with default settings.
* fix(ruby): Fix various exceptions in Ruby on 64-bit Windows.
Activates the secondary ObjectCache map on this platform, to prevent weak keys from being garbage collected. This happened on 64-bit Windows because pointers don't necessarily fit in a Fixnum, and were being represented as GC-able Bignums on that platform.
* Removed extraneous code, and used VALUE instead of intptr_t
* Call the C function for new object instance rather than evaling a Ruby string
* Simplified PHP testing setup.
- Consolidated on a single autoloader, created by composer.
- Consolidated on a single phpunit invocation strategy: we run
phpunit on a directory, which will run all tests matching *Test.php
in that directory.
- We now rely on autoloading to import all test protos. require_once()
calls for test protos are removed.
- For now the valgrind tests are removed. A follow-up PR will re-enable
them in a more robust way.
* More improvements to PHP testing.
1. Replace custom PHPUnit-selection logic in test.sh with generic
composer version selection.
2. Optimized both test proto generation and the custom extension
build to avoid unnecessary work when the files are already up
to date.
* Added assertions to verify that the C test doesn't use PHP sources.
* Updated tests.sh for the new PHP testing commands.
* Removed obsolete rules from tests.sh.
* Fixed generate_test_protos.sh for when tmp does not exist.
Also removed undefined_test.php and fixed Makefile.am.
* Added php8.0_all again which is still used.
* Added missing file to Makefile.am.
* Re-added php_all_32 rule which is also still used.
* Updated testing commands for macOS and download composer.
* Use /usr/local/bin on mac instead of /usr/bin, since the latter is not writable.
* Move additional `ReadOnlySpan<byte>` `ParseContext` overloads next to
the existing overload
* Pass `ReadOnlySpan<byte>` parameters by `ref`
* Update `MessageParsingHelpers` to add checks for parsing from
`ReadOnlySpan<byte>`, remove tests from `CodedInputStreamTest`