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

Merge from apache/thrift:master #1

Merged
merged 276 commits into from
May 25, 2022
Merged

Merge from apache/thrift:master #1

merged 276 commits into from
May 25, 2022

Conversation

wujjpp
Copy link
Owner

@wujjpp wujjpp commented May 25, 2022

  • Did you create an Apache Jira ticket? (not required for trivial changes)
  • If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
  • Did you squash your changes to a single commit? (not required, but preferred)
  • Did you do your best to avoid breaking changes? If one was needed, did you label the Jira ticket with "Breaking-Change"?
  • If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

Jens-G and others added 30 commits July 1, 2021 23:32
Client: Delphi
Patch: Jens Geyer
…s. message write phase

Client: Delphi
Patch: Jens Geyer
Client: lua
Patch: Kaibin Huang

This closes #2413
…make them public

Client: netstd
Patch: Jens Geyer
Because we briefly had go.mod file under lib/go/thrift in e27e82c
(it was later removed in d9fcdd3), using

    go get github.com/apache/thrift/lib/go/thrift/...

(as suggested by the current README) will get that particular version
instead of the latest released version. So update README to use

    go get github.com/apache/thrift

instead.

Also instead of saying we support Go 1.7+, say we support the officially
supported Go releases, as that's our new support policy.
Client: go

The current compiler will generate uncompilable code when we use
optional enum and/or typedef'd types in a thrift constant.

This fixes the issue, also adds a test for that.
…ding with "_result" or "_args"

Client: netstd
Patch: Jens Geyer

This closes #2424
This change improves two problems in go code imports:

1. Always rename import the thrift package into "thrift", as we allow
   the user to use a different library to replace the official one from
   the compiler command line, this makes sure that in compiler generated
   go code we can always blindly use "thrift.*".

2. We added auto rename import dedup in d9019fc, but in that change
   for system packages we always use the full import path as the dedup
   identifier, so system package "database/sql/driver" would not be
   detected as a conflict against a thrift go namespace of
   "foo.bar.driver". Use the part after the last "/" in system packages
   as the dedup identifier instead.
Client: go

We used to do DNS lookups in NewTSocketConf, without any timeout checks.
Stop doing that and do DNS lookups in TSocket.Open instead, which
already checks for ConnectTimeout set in TConfiguration.

Also remove the error return from NewTSocketConf.
Client: go

We used to do DNS lookups in NewTSocketConf, without any timeout checks.
Stop doing that and do DNS lookups in TSocket.Open instead, which
already checks for ConnectTimeout set in TConfiguration.

Also remove the error return from NewTSocketConf.
Fix a number of problems in the Windows build on AppVeyor
jimexist and others added 29 commits April 27, 2022 12:49
Partially addresses THRIFT-5564
* add java build workflow
* add kotlin as well
* run full make with ant and maven
* shorten names

Co-authored-by: Christopher Tubbs <[email protected]>
Add a java code generation parameter called "annotations_as_metadata" to
optionally include Thrift field annotations as metadata in the generated code.
Add -y (--refresh) flag to pacman when also doing a system upgrade with
-u (--sysupgrade). This ensures that its database is refreshed in the
case where pacman core is upgraded after the previous refresh.
Convert TestAnnotationMetadata to JUnit5 API. This class was not
included in THRIFT-5560 (PR #2574) when the conversion was done because
this was a new class added in THRIFT-5544 (PR #2553), which was merged
first.
Fix warnings in the tutorial code by removing the Common Lisp namespace references,
since support for that was removed in THRIFT-5476
* update java doc about gradle usage
* update .gitignore
* use spotless plugin and google-java-format to enforce a consistent code format
* add a step of spotless check before building
* only run spotless on the src/ directory

Co-authored-by: Christopher Tubbs <[email protected]>
Prepare for moving to Gradle 7 by removing use of older Gradle directives
(except the use of maven; the transition to maven-publish is not included here)
* add type parameter to java lib field metadata
* reduce number of exceptions
refactor kotlin cross test to:
* use proper cli framework,
* add more transport/protocol cases
* include java and kotlin into precross
* Improve TProtocol.java through the use of interfaces
* Reduce Kotlin extensions usage
* upgrade gradle version to 7.4
* migrate from `maven` plugin to `maven-publish` plugin as required for Gradle 7
* add guard to ktfmt, since it can't run with JDK 8

Co-authored-by: Christopher Tubbs <[email protected]>
Client: go

This was a copy-paste error in the original implementation in
6583f4e.
…ading maps, sets and lists"

This reverts commit 8987820.
…#2606)

* use gradle toolchain to specify Java 11 with --release 8
* use newer syntax
* fix spotless apply
* remove legacy apply and bump version of spot bugs
* migrate pmd to new plugin syntax
Client: go

Make it unwrap to context.Canceled, since the main use case of it is to
be returned in lieu of context.Canceled to avoid extra writing to the
client, so that if user has any processor middleware that checks for
context.Canceled error those would still work.
Fix warnings running bootstrap.sh for the following by adding missing
entries in configure.ac:

```
configure.ac: warning: missing AC_CHECK_HEADERS([stdint.h]) wanted by: lib/rb/ext/binary_protocol_accelerated.c:22
configure.ac: warning: missing AC_CHECK_HEADERS([strings.h]) wanted by: lib/cpp/src/thrift/transport/TFileTransport.cpp:39
```

Sort all of the AC_CHECK_HEADERS lines, for easier readability in configure.ac
Trivially change file mode from 755 to 644 for files in git that
shouldn't be marked as executable. These were probably marked as
executable due to some contributors developing on Windows using a
filesystem that doesn't support POSIX file modes, or aggressively marks
everything as executable.
@wujjpp wujjpp merged commit 1fd3bfc into wujjpp:master May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.