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

Resolve Class Path conflict. #1465

Merged
merged 1 commit into from
May 16, 2024
Merged

Resolve Class Path conflict. #1465

merged 1 commit into from
May 16, 2024

Conversation

yliuuuu
Copy link
Contributor

@yliuuuu yliuuuu commented May 16, 2024

Relevant Issues

  • [Closes/Related To] N/A

Description

Previously, the class StaticTypeMeta is duplicated the ast package and in the lang package.

Both of which get packaged under org.partiql.lang.ast.

This fails the build when a customer enables compile time validation for duplicated class in the classpath.

This PR removes the StaticTypeMeta in the lang package as a short term fix for the issue.

We anticipate issue of similar pattern will not occurs once we complete the split of packages, but it is still worthy for us to consider adding a check for similar issue in the future. Unfortunately, a cursor search does not reveal a good gradle-plugin for this purposes, hence this PR does not include such check.

Note that the issue only happens when a compile time check as described is included in the build process, this is because the two classes are identical and at runtime, it does not matter which class gets loaded...

Also, worth to call out that this PR should not be considered backward-incompatible:
This is: one can access the StaticTypeMeta is only taking dependency from partiql-ast package, and one can still access StaticTypeMeta when takiing dependency from partiql-lang package. The APIs are exposed because partiql-ast is a dependency of partiql-lang.

Other Information

  • Updated Unreleased Section in CHANGELOG: [YES/NO]

    • No.
  • Any backward-incompatible changes? [YES/NO]

    • < If YES, why? >
    • < For this purpose, we define backward-incompatible changes as changes that—when consumed—can potentially result in
      errors for users that are using our public APIs or the entities that have public visibility in our code-base. >
      No.
  • Any new external dependencies? [YES/NO]

    • < If YES, which ones and why? >
    • < In addition, please also mention any other alternatives you've considered and the reason they've been discarded >
      No.
  • Do your changes comply with the Contributing Guidelines
    and Code Style Guidelines? [YES/NO]
    Yes.

License Information

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@yliuuuu yliuuuu marked this pull request as ready for review May 16, 2024 00:29
@yliuuuu yliuuuu merged commit 7b78453 into main May 16, 2024
10 checks passed
RCHowell pushed a commit that referenced this pull request Jun 26, 2024
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.

2 participants