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

Scala 2.13 Support #8592

Merged
merged 130 commits into from
Oct 27, 2023
Merged

Scala 2.13 Support #8592

merged 130 commits into from
Oct 27, 2023

Conversation

NVnavkumar
Copy link
Collaborator

@NVnavkumar NVnavkumar commented Jun 21, 2023

Fixes #1525 and #9331.

This fixes the compilation errors, and provides the updates to the build system to enable spark-rapids to build with Scala 2.13.

You can build it by changing to the scala2.13 directory, and running maven:

cd scala2.13
mvn verify

You can also open the scala2.13 directory directly in IntelliJ IDE and it should work very similarly to 2.12.

See scala2.13/README.md for more information.

Signed-off-by: Navin Kumar [email protected]

pom.xml Outdated Show resolved Hide resolved
pom.xml Outdated Show resolved Hide resolved
dev/change-scala-version.sh Outdated Show resolved Hide resolved
Copy link
Collaborator

@pxLi pxLi left a comment

Choose a reason for hiding this comment

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

One question about the goal here, are we planning to do

  1. multiple profiles to build different shims w/ different scalas, and we will deliver 2 sets of artifacts here (2.12 plugin for all spark shims, 2.13 plugin for 330+ shims)
  2. Or build the plugin using scala 2.12 for spark shims 330-, and scala 2.13 for 330+ as default. We still just release one plugin artifact including 2.12 330- shims, 2.13 330+ shims, and 2.12/2.13 common parts

also cc @sameerz @GaryShen2008

@sameerz
Copy link
Collaborator

sameerz commented Jun 27, 2023

  1. multiple profiles to build different shims w/ different scalas, and we will deliver 2 sets of artifacts here (2.12 plugin for all spark shims, 2.13 plugin for 330+ shims)

We will release 2 sets of artifacts, a scala 2.12 plugin for all spark shims, and a scala 2.13 plugin for 3.3.0+ shims.

@pxLi
Copy link
Collaborator

pxLi commented Jun 27, 2023

  1. multiple profiles to build different shims w/ different scalas, and we will deliver 2 sets of artifacts here (2.12 plugin for all spark shims, 2.13 plugin for 330+ shims)

We will release 2 sets of artifacts, a scala 2.12 plugin for all spark shims, and a scala 2.13 plugin for 3.3.0+ shims.

Got it, thanks for the confirmation! I will follow up CI setup after this PR along w/ the internal private one

@sameerz sameerz changed the base branch from branch-23.08 to branch-23.10 August 10, 2023 22:06
@sameerz sameerz added the feature request New feature or request label Aug 14, 2023
Remove checking scala2.13 folder, .github/workflows/mvn-verify-check.yml will check it

Signed-off-by: Tim Liu <[email protected]>
@NvTimLiu
Copy link
Collaborator

NvTimLiu commented Oct 26, 2023

@NVnavkumar Sorry I added dup git diff scala2.13 folder in the jenkins/Jenkinsfile-blossom.premerge

I noticed you've already add the git diff check for it in the .github/workflows/mvn-verify-check.yml file

So I pushed a commit here to revert it:
c88320b

@NvTimLiu
Copy link
Collaborator

build

NvTimLiu
NvTimLiu previously approved these changes Oct 26, 2023
Copy link
Collaborator

@NvTimLiu NvTimLiu left a comment

Choose a reason for hiding this comment

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

LGTM

scala2.13/README.md Show resolved Hide resolved

That way any new dependencies or other changes will be picked up in the Scala 2.13 build.

## IDE Integration with IntelliJ
Copy link
Collaborator

Choose a reason for hiding this comment

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

is this addressed did we file issue?

CONTRIBUTING.md Outdated
@@ -60,6 +60,9 @@ You can find all available build versions in the top level pom.xml file. If you
for Databricks then you should use the `jenkins/databricks/build.sh` script and modify it for
the version you want.

See the [scala2.13](scala2.13) directory for instructions on how to build against
Copy link
Collaborator

Choose a reason for hiding this comment

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

might also be nice to state that the code must compile against both versions so when developing keep that in mind. Not sure if its useful to mention a few common things that arise. Also might point to the 2.13/2.12 source subdirectories

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added some documentation updates, please let me know if those make sense.

@NVnavkumar
Copy link
Collaborator Author

build

Signed-off-by: Navin Kumar <[email protected]>
@NVnavkumar
Copy link
Collaborator Author

build

@NVnavkumar
Copy link
Collaborator Author

build

Signed-off-by: Navin Kumar <[email protected]>
Signed-off-by: Navin Kumar <[email protected]>
Signed-off-by: Navin Kumar <[email protected]>
@NVnavkumar
Copy link
Collaborator Author

build

Copy link
Collaborator

@tgravescs tgravescs left a comment

Choose a reason for hiding this comment

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

overall looks fine, please file the followups from the comments

@pxLi
Copy link
Collaborator

pxLi commented Oct 27, 2023

build

@NVnavkumar NVnavkumar merged commit b5891fc into NVIDIA:branch-23.12 Oct 27, 2023
36 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
9 participants