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

GH-37893: [Java] Move Types.proto in a subfolder #37894

Merged
merged 4 commits into from
Sep 28, 2023

Conversation

laurentgo
Copy link
Collaborator

@laurentgo laurentgo commented Sep 26, 2023

Rationale for this change

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange data between Java and C++. This file is packaged automatically within arrow-gandiva jar but because of its generic name, it may cause conflicts in others' people project.

What changes are included in this PR?

Move Types.proto into gandiva/types.proto (also matching convention of using lowercase filename) so that it become less likely to cause a conflict.

Are these changes tested?

Change should have no impact on the feature itself. Manually check the resulting jar to confirm that types.proto is not located at the root of the archive.

Are there any user-facing changes?

No user-facing. Developers who were actually referencing Gandiva Types.proto in their project may have to change their import directive.

This PR includes breaking changes to public APIs.

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange
data between Java and C++. This file is packaged automatically within
arrow-gandiva jar but because of its generic name, it may cause
conflicts in others' people project.

Move Types.proto into gandiva/types.proto (also matching convention of
using lowercase filename) so that it become less likely to cause a
conflict.
@github-actions
Copy link

⚠️ GitHub issue #37893 has been automatically assigned in GitHub to PR creator.

@lidavidm lidavidm added the Breaking Change Includes a breaking change to the API label Sep 26, 2023
Copy link
Member

@lidavidm lidavidm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but CI is failing

java/gandiva/CMakeLists.txt Show resolved Hide resolved
@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting review Awaiting review labels Sep 26, 2023
Fix cmakefile line length issue
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Sep 27, 2023
Fix types.pb.h protobuf include directives
@laurentgo laurentgo marked this pull request as draft September 27, 2023 22:33
@laurentgo
Copy link
Collaborator Author

Looks like I missed a couple of things (I was trying to go directly to PR since I had some build environment issues on my new laptop).

Moving to draft and solving things locally first so that reviewers do not waste too much time.

Fix gandiva protobuf namespacing
@laurentgo laurentgo marked this pull request as ready for review September 28, 2023 04:21
@laurentgo
Copy link
Collaborator Author

I believe this PR is ready for review again

@lidavidm lidavidm merged commit 019d06d into apache:main Sep 28, 2023
16 of 17 checks passed
@lidavidm lidavidm removed the awaiting change review Awaiting change review label Sep 28, 2023
@github-actions github-actions bot added the awaiting merge Awaiting merge label Sep 28, 2023
@laurentgo laurentgo deleted the laurentgo/types-namespace branch September 28, 2023 15:37
etseidl pushed a commit to etseidl/arrow that referenced this pull request Sep 28, 2023
### Rationale for this change

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange data between Java and C++. This file is packaged automatically within arrow-gandiva jar but because of its generic name, it may cause conflicts in others' people project.

### What changes are included in this PR?

Move `Types.proto` into `gandiva/types.proto` (also matching convention of using lowercase filename) so that it become less likely to cause a conflict.

### Are these changes tested?

Change should have no impact on the feature itself. Manually check the resulting jar to confirm that `types.proto` is not located at the root of the archive.

### Are there any user-facing changes?

No user-facing. Developers who were actually referencing Gandiva `Types.proto` in their project may have to change their `import` directive.

**This PR includes breaking changes to public APIs.**

* Closes: apache#37893

Authored-by: Laurent Goujon <[email protected]>
Signed-off-by: David Li <[email protected]>
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 019d06d.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about possible false positives for unstable benchmarks that are known to sometimes produce them.

JerAguilon pushed a commit to JerAguilon/arrow that referenced this pull request Oct 23, 2023
### Rationale for this change

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange data between Java and C++. This file is packaged automatically within arrow-gandiva jar but because of its generic name, it may cause conflicts in others' people project.

### What changes are included in this PR?

Move `Types.proto` into `gandiva/types.proto` (also matching convention of using lowercase filename) so that it become less likely to cause a conflict.

### Are these changes tested?

Change should have no impact on the feature itself. Manually check the resulting jar to confirm that `types.proto` is not located at the root of the archive.

### Are there any user-facing changes?

No user-facing. Developers who were actually referencing Gandiva `Types.proto` in their project may have to change their `import` directive.

**This PR includes breaking changes to public APIs.**

* Closes: apache#37893

Authored-by: Laurent Goujon <[email protected]>
Signed-off-by: David Li <[email protected]>
JerAguilon pushed a commit to JerAguilon/arrow that referenced this pull request Oct 23, 2023
### Rationale for this change

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange data between Java and C++. This file is packaged automatically within arrow-gandiva jar but because of its generic name, it may cause conflicts in others' people project.

### What changes are included in this PR?

Move `Types.proto` into `gandiva/types.proto` (also matching convention of using lowercase filename) so that it become less likely to cause a conflict.

### Are these changes tested?

Change should have no impact on the feature itself. Manually check the resulting jar to confirm that `types.proto` is not located at the root of the archive.

### Are there any user-facing changes?

No user-facing. Developers who were actually referencing Gandiva `Types.proto` in their project may have to change their `import` directive.

**This PR includes breaking changes to public APIs.**

* Closes: apache#37893

Authored-by: Laurent Goujon <[email protected]>
Signed-off-by: David Li <[email protected]>
loicalleyne pushed a commit to loicalleyne/arrow that referenced this pull request Nov 13, 2023
### Rationale for this change

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange data between Java and C++. This file is packaged automatically within arrow-gandiva jar but because of its generic name, it may cause conflicts in others' people project.

### What changes are included in this PR?

Move `Types.proto` into `gandiva/types.proto` (also matching convention of using lowercase filename) so that it become less likely to cause a conflict.

### Are these changes tested?

Change should have no impact on the feature itself. Manually check the resulting jar to confirm that `types.proto` is not located at the root of the archive.

### Are there any user-facing changes?

No user-facing. Developers who were actually referencing Gandiva `Types.proto` in their project may have to change their `import` directive.

**This PR includes breaking changes to public APIs.**

* Closes: apache#37893

Authored-by: Laurent Goujon <[email protected]>
Signed-off-by: David Li <[email protected]>
dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
### Rationale for this change

Types.proto is a Gandiva protobuf definition used by Gandiva to exchange data between Java and C++. This file is packaged automatically within arrow-gandiva jar but because of its generic name, it may cause conflicts in others' people project.

### What changes are included in this PR?

Move `Types.proto` into `gandiva/types.proto` (also matching convention of using lowercase filename) so that it become less likely to cause a conflict.

### Are these changes tested?

Change should have no impact on the feature itself. Manually check the resulting jar to confirm that `types.proto` is not located at the root of the archive.

### Are there any user-facing changes?

No user-facing. Developers who were actually referencing Gandiva `Types.proto` in their project may have to change their `import` directive.

**This PR includes breaking changes to public APIs.**

* Closes: apache#37893

Authored-by: Laurent Goujon <[email protected]>
Signed-off-by: David Li <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting merge Awaiting merge Breaking Change Includes a breaking change to the API Component: Java
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Java] Gandiva Types.proto may conflict with other proto definition
2 participants