Skip to content

Conversation

@kumar-zlai
Copy link
Contributor

@kumar-zlai kumar-zlai commented Jan 10, 2025

Summary

Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for working on the script to modify our tests to use Scala FlatSpec api which seems to be working with bazel. Will test again after his changes and create a separate PR if additional changes are needed. Also, it's good to be consistent with the unit tests api going forward unless we really need others.

Checklist

  • Added Unit Tests
  • Covered by existing CI
  • Integration tested
  • Documentation update

Summary by CodeRabbit

Release Notes

  • Dependencies

    • Updated logging framework dependency to Log4j 2.x across various libraries.
    • Updated ScalaTest dependencies in API testing.
    • Migrated library dependencies from Maven to Scala artifacts.
    • Updated Jackson, JSON4s, and other library versions.
    • Added new dependencies for Guava, Netty, Delta Spark, and Kafka.
  • Build Configuration

    • Introduced new Scala library and test configurations.
    • Added JVM binary assembly configuration.
    • Refined Bazel build rule imports and loading.
  • Dependency Management

    • Removed several unused dependencies.
    • Simplified dependency references.
    • Updated runtime dependency paths.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 10, 2025

Walkthrough

This pull request involves significant updates to build configurations across multiple Bazel files. The changes primarily focus on dependency management, introducing new ScalaTest dependencies, updating library versions, and adding a new jvm_binary function. The modifications span several key files including BUILD.bazel files for API, online, and Spark modules, as well as dependency and build rule configurations.

Changes

File Change Summary
api/BUILD.bazel Updated SLF4J dependency to Log4j 2.x, added ScalaTest dependencies.
online/BUILD.bazel Transitioned from maven_artifact to scala_artifact for several dependencies, updated logging dependency.
spark/BUILD.bazel Added new Scala libraries, test suite, and JVM binary configuration.
tools/build_rules/dependencies/maven_repository.bzl Updated library versions, added new dependencies, removed Flink dependencies.
tools/build_rules/dependencies/spark_repository.bzl Removed multiple dependencies, updated Hive dependencies.
tools/build_rules/jvm_binary.bzl Introduced new jvm_binary function for creating JVM binaries.
tools/build_rules/prelude_bazel Updated rule imports, removed jar and scala_jar, added jvm_binary.
tools/build_rules/spark/BUILD Removed multiple jar dependencies, updated runtime dependency path.
aggregator/BUILD.bazel Updated SLF4J dependency to Log4j 2.x across multiple definitions.

Possibly related PRs

Suggested Reviewers

  • nikhil-zlai
  • piyush-zlai

Poem

🚀 Bazel builds with grace and might,
Dependencies dance in pure delight,
ScalaTest joins the testing throng,
Libraries update, nothing wrong!
Code evolves, our journey's bright! 🌟

Warning

Review ran into problems

🔥 Problems

GitHub Actions: Resource not accessible by integration - https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository.

Please grant the required permissions to the CodeRabbit GitHub App under the organization or repository settings.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between cae2d80 and 0c8a955.

📒 Files selected for processing (5)
  • aggregator/BUILD.bazel (3 hunks)
  • api/BUILD.bazel (3 hunks)
  • online/BUILD.bazel (3 hunks)
  • spark/BUILD.bazel (1 hunks)
  • tools/build_rules/dependencies/maven_repository.bzl (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • spark/BUILD.bazel
  • api/BUILD.bazel
⏰ Context from checks skipped due to timeout of 90000ms (6)
  • GitHub Check: table_utils_delta_format_spark_tests
  • GitHub Check: join_spark_tests
  • GitHub Check: other_spark_tests
  • GitHub Check: mutation_spark_tests
  • GitHub Check: no_spark_scala_tests
  • GitHub Check: fetcher_spark_tests
🔇 Additional comments (6)
aggregator/BUILD.bazel (1)

15-15: Verify logging configuration for Log4j 2.x

Migration from Log4j 1.x to 2.x requires corresponding log4j2.xml configuration.

Also applies to: 31-31, 53-53

✅ Verification successful

Log4j 2.x configuration verified ✓

Proper log4j2.properties files found in both orchestration and spark modules with correct Log4j 2.x syntax.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for Log4j 2.x configuration files
fd -e xml -e yaml -e json -e properties | rg -i "log4j2|logging"

Length of output: 160


Script:

#!/bin/bash
# Check log4j2 config content
cat orchestration/src/main/resources/log4j2.properties spark/src/main/resources/log4j2.properties

Length of output: 1177

tools/build_rules/dependencies/maven_repository.bzl (3)

26-27: Verify SLF4J 2.0.12 compatibility

Major version upgrade from 1.7.x to 2.0.x may have breaking changes.


30-32: Verify Jackson version compatibility

Update to Jackson 2.15.2 requires checking for breaking changes in Scala serialization.


43-49: Review security implications

Recent versions of critical dependencies:

  • Guava 33.3.1-jre
  • Netty 4.1.99.Final
  • SnakeYAML 2.3
✅ Verification successful

Dependencies verified - no security issues found

All critical dependencies (Guava 33.3.1-jre, Netty 4.1.99.Final, SnakeYAML 2.3) are using recent versions that are not affected by any known vulnerabilities.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for known CVEs in dependencies
gh api graphql -f query='
{
  securityVulnerabilities(first: 10, ecosystem: MAVEN, package: "io.netty:netty-all") {
    nodes {
      advisory {
        summary
        severity
      }
      vulnerableVersionRange
    }
  }
}'

Length of output: 560


Script:

#!/bin/bash
# Check Guava and SnakeYAML vulnerabilities
gh api graphql -f query='
{
  guava: securityVulnerabilities(first: 10, ecosystem: MAVEN, package: "com.google.guava:guava") {
    nodes {
      advisory {
        summary
        severity
      }
      vulnerableVersionRange
    }
  }
  snakeyaml: securityVulnerabilities(first: 10, ecosystem: MAVEN, package: "org.yaml:snakeyaml") {
    nodes {
      advisory {
        summary
        severity
      }
      vulnerableVersionRange
    }
  }
}'

Length of output: 2117

online/BUILD.bazel (2)

16-16: Verify Scala artifact compatibility

Changed from maven_artifact to scala_artifact for:

  • scallop
  • sttp client dependencies

Also applies to: 21-23

✅ Verification successful

Scala artifact migration is compatible

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check Scala version compatibility
rg -l "scalaVersion|scala.version"

Length of output: 157


Script:

#!/bin/bash
# Check Scala version declarations
cat build.sbt project/VersionDependency.scala WORKSPACE | grep -A 2 "scala\|scalaVersion"

Length of output: 3599


Script:

#!/bin/bash
# Check SCALA_VERSION definition
rg "SCALA_VERSION.*=" WORKSPACE

Length of output: 59


Line range hint 46-51: Verify ScalaTest configuration

PR objectives mention issues with FunSuite tests not being recognized.

✅ Verification successful

ScalaTest FunSuite configuration is correct

All test files properly import org.scalatest.funsuite.AnyFunSuite and the dependency is correctly declared in BUILD.bazel. No issues found with the FunSuite configuration.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Find all test files using FunSuite
rg -l "FunSuite|extends\s+FunSuite"

Length of output: 614


Script:

#!/bin/bash
# Check import statements in FunSuite test files
rg "import.*FunSuite" -A 2 
# Find BUILD files in test directories
fd "BUILD.bazel" --type f --exec grep -l "test" {}

Length of output: 2595


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
tools/build_rules/jvm_binary.bzl (1)

24-25: Enhance error message

Add file names to help debugging.

-        fail("Cannot have scala and java sources in same jvm_binary")
+        fail("Cannot mix Scala and Java sources in same jvm_binary. Found: " + ", ".join(srcs))
spark/BUILD.bazel (1)

90-115: Consider centralizing JVM flags

These JVM flags could be moved to a central configuration to avoid duplication.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between bcc7d65 and cae2d80.

📒 Files selected for processing (8)
  • api/BUILD.bazel (1 hunks)
  • online/BUILD.bazel (1 hunks)
  • spark/BUILD.bazel (1 hunks)
  • tools/build_rules/dependencies/maven_repository.bzl (1 hunks)
  • tools/build_rules/dependencies/spark_repository.bzl (1 hunks)
  • tools/build_rules/jvm_binary.bzl (1 hunks)
  • tools/build_rules/prelude_bazel (1 hunks)
  • tools/build_rules/spark/BUILD (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: fetcher_spark_tests
  • GitHub Check: other_spark_tests
  • GitHub Check: mutation_spark_tests
  • GitHub Check: join_spark_tests
  • GitHub Check: no_spark_scala_tests
🔇 Additional comments (8)
tools/build_rules/prelude_bazel (1)

3-4: Verify migration of jar and scala_jar usages

✅ Verification successful

Removal of jar and scala_jar from prelude_bazel is safe

  • Rules are still available in common.bzl
  • No other files were loading these rules through prelude_bazel
  • Existing usages in spark/BUILD load directly from common.bzl
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Find any remaining references to jar and scala_jar
rg "jar\(" --type bazel
rg "scala_jar\(" --type bazel

Length of output: 1647


Script:

#!/bin/bash
# Find files loading from prelude_bazel
rg 'load\("//tools/build_rules/prelude_bazel"' --type bazel

Length of output: 61


Script:

#!/bin/bash
# Broader search for prelude_bazel references
rg "prelude_bazel" --type bazel
cat WORKSPACE

Length of output: 3055

tools/build_rules/dependencies/spark_repository.bzl (1)

13-15: Verify Hive version downgrade compatibility

Downgrading Hive from 3.1.2 to 2.3.9 needs validation.

tools/build_rules/spark/BUILD (1)

77-77: LGTM: Using relative path

tools/build_rules/jvm_binary.bzl (1)

4-54: LGTM: Clean jvm_binary implementation

api/BUILD.bazel (1)

38-40: Verify ScalaTest dependency versions

Ensure these ScalaTest dependencies use compatible versions with existing test frameworks.

✅ Verification successful

ScalaTest dependencies are consistent across the codebase

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for potential version conflicts in ScalaTest dependencies
rg -l 'scalatest' | xargs rg 'scala_artifact.*scalatest.*"'

Length of output: 1984

tools/build_rules/dependencies/maven_repository.bzl (1)

30-32: Verify Jackson version compatibility

The Jackson upgrade to 2.15.2 is substantial. Ensure compatibility with Spark's Jackson version.

✅ Verification successful

Jackson version upgrade is properly managed

The upgrade to Jackson 2.15.2 is safe as json4s-jackson is explicitly pinned to Spark's version and Jackson versions are managed through dependency overrides.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check Spark's Jackson version compatibility
rg -A 5 'jackson.*version' | grep -v '2.15.2'

Length of output: 1040


Script:

#!/bin/bash
# Check Spark's dependency on Jackson in their codebase
gh api repos/apache/spark/pulls/45838 | jq -r '.body' | grep -i jackson

Length of output: 132


Script:

#!/bin/bash
# Check dependency declarations for json4s
rg "json4s.*jackson.*3\.7\.0-M11" -A 10

Length of output: 2741

online/BUILD.bazel (1)

21-23: LGTM: Correct transition to scala_artifact

Appropriate use of scala_artifact for Scala-specific dependencies.

spark/BUILD.bazel (1)

155-160: LGTM: Correct jvm_binary configuration

The assembly target is properly configured with the main class and runtime dependencies.

Comment on lines 116 to 152
deps = [
":lib",
":test-lib",
"//aggregator:lib",
"//aggregator:test-lib",
"//api:lib",
"//api:thrift",
"//online:lib",
"//tools/build_rules/spark:spark-exec",
# Library
maven_artifact("com.google.code.gson:gson"),
maven_artifact("com.google.guava:guava"),
scala_artifact("org.rogach:scallop"),
maven_artifact("commons.io:commons-io"),
maven_artifact("commons.lang:commons-lang"),
scala_artifact("org.scala-lang.modules:scala-java8-compat"),
scala_artifact("com.fasterxml.jackson.module:jackson-module-scala"),
maven_artifact("org.slf4j:slf4j-api"),
maven_artifact("org.slf4j:slf4j-log4j12"),
scala_artifact("org.json4s:json4s-core"),
scala_artifact("org.json4s:json4s-jackson"),
scala_artifact("org.json4s:json4s-ast"),
maven_artifact("org.yaml:snakeyaml"),
# Testing
scala_artifact("org.scalatest:scalatest-matchers-core"),
scala_artifact("org.scalatest:scalatest-core"),
scala_artifact("org.scalatest:scalatest"),
scala_artifact("org.scalatest:scalatest-flatspec"),
scala_artifact("org.scalatest:scalatest-funsuite"),
scala_artifact("org.scalatest:scalatest-shouldmatchers"),
scala_artifact("org.scalactic:scalactic"),
scala_artifact("org.scalatestplus:mockito-3-4"),
maven_artifact("org.scalatest:scalatest-compatible"),
maven_artifact("junit:junit"),
maven_artifact("com.novocode:junit-interface"),
maven_artifact("org.mockito:mockito-core"),
],
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Reduce dependency duplication

test target duplicates many dependencies from test-lib. Consider inheriting them through the test-lib dependency.

-        # Library
-        maven_artifact("com.google.code.gson:gson"),
-        maven_artifact("com.google.guava:guava"),
-        scala_artifact("org.rogach:scallop"),
-        maven_artifact("commons.io:commons-io"),
-        maven_artifact("commons.lang:commons-lang"),
-        scala_artifact("org.scala-lang.modules:scala-java8-compat"),
-        scala_artifact("com.fasterxml.jackson.module:jackson-module-scala"),
-        maven_artifact("org.slf4j:slf4j-api"),
-        maven_artifact("org.slf4j:slf4j-log4j12"),
-        scala_artifact("org.json4s:json4s-core"),
-        scala_artifact("org.json4s:json4s-jackson"),
-        scala_artifact("org.json4s:json4s-ast"),
-        maven_artifact("org.yaml:snakeyaml"),
-        # Testing
-        scala_artifact("org.scalatest:scalatest-matchers-core"),
-        scala_artifact("org.scalatest:scalatest-core"),
-        scala_artifact("org.scalatest:scalatest"),
-        scala_artifact("org.scalatest:scalatest-flatspec"),
-        scala_artifact("org.scalatest:scalatest-funsuite"),
-        scala_artifact("org.scalatest:scalatest-shouldmatchers"),
-        scala_artifact("org.scalactic:scalactic"),
-        scala_artifact("org.scalatestplus:mockito-3-4"),
-        maven_artifact("org.scalatest:scalatest-compatible"),
-        maven_artifact("junit:junit"),
-        maven_artifact("com.novocode:junit-interface"),
-        maven_artifact("org.mockito:mockito-core"),
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
deps = [
":lib",
":test-lib",
"//aggregator:lib",
"//aggregator:test-lib",
"//api:lib",
"//api:thrift",
"//online:lib",
"//tools/build_rules/spark:spark-exec",
# Library
maven_artifact("com.google.code.gson:gson"),
maven_artifact("com.google.guava:guava"),
scala_artifact("org.rogach:scallop"),
maven_artifact("commons.io:commons-io"),
maven_artifact("commons.lang:commons-lang"),
scala_artifact("org.scala-lang.modules:scala-java8-compat"),
scala_artifact("com.fasterxml.jackson.module:jackson-module-scala"),
maven_artifact("org.slf4j:slf4j-api"),
maven_artifact("org.slf4j:slf4j-log4j12"),
scala_artifact("org.json4s:json4s-core"),
scala_artifact("org.json4s:json4s-jackson"),
scala_artifact("org.json4s:json4s-ast"),
maven_artifact("org.yaml:snakeyaml"),
# Testing
scala_artifact("org.scalatest:scalatest-matchers-core"),
scala_artifact("org.scalatest:scalatest-core"),
scala_artifact("org.scalatest:scalatest"),
scala_artifact("org.scalatest:scalatest-flatspec"),
scala_artifact("org.scalatest:scalatest-funsuite"),
scala_artifact("org.scalatest:scalatest-shouldmatchers"),
scala_artifact("org.scalactic:scalactic"),
scala_artifact("org.scalatestplus:mockito-3-4"),
maven_artifact("org.scalatest:scalatest-compatible"),
maven_artifact("junit:junit"),
maven_artifact("com.novocode:junit-interface"),
maven_artifact("org.mockito:mockito-core"),
],
deps = [
":lib",
":test-lib",
"//aggregator:lib",
"//aggregator:test-lib",
"//api:lib",
"//api:thrift",
"//online:lib",
"//tools/build_rules/spark:spark-exec",
],

],
)

scala_test_suite(
Copy link
Contributor

Choose a reason for hiding this comment

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

iiuc - this will kick off all the tests in a single bazel / jvm process right? Might want to have targets per test (we sorta do this in our sbt github worklows today)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's correct it will kick off all the tests in the spark module in parallel. We can also run only a specific test if needed by specifying it's path from the test suite which should be good enough for the github workflows use case i think.

We would need to create a lot of boiler plate config specifying targets per test in BUILD file which might actually work out well in the long term when we have a script that auto generates config for the test targets but may be not worth doing it at this point. I know for the fact that at google we specify build targets per test file but the config is mostly auto generated :) Please let me know if you have any concerns with our current approach, happy to discuss more but i'm slightly more inclined towards test_suite approach at this point.

Copy link
Collaborator

@tchow-zlai tchow-zlai left a comment

Choose a reason for hiding this comment

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

@kumar-zlai thanks so much for doing the migration! Could you share a command to use to generate the final jar so that we could use to quickly run some integration tests? Just wanna make sure the classpaths are correct thus far.

@kumar-zlai
Copy link
Contributor Author

@kumar-zlai thanks so much for doing the migration! Could you share a command to use to generate the final jar so that we could use to quickly run some integration tests? Just wanna make sure the classpaths are correct thus far.

Sure, bazel build //spark:lib would generate the final jar for the spark module in the bazel-out directory. I added some documentation for working with bazel here. Please let me know if you need any additional info, Happy to help :) and will also update the documentation accordingly.

Copy link
Collaborator

@tchow-zlai tchow-zlai left a comment

Choose a reason for hiding this comment

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

LGTM pending CI failures

@kumar-zlai kumar-zlai merged commit 9d32bfd into main Jan 16, 2025
9 checks passed
@kumar-zlai kumar-zlai deleted the kumarteja/spark-bazel-migration branch January 16, 2025 17:44
david-zlai pushed a commit that referenced this pull request Jan 17, 2025
## Summary
Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not
getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for
working on the script to modify our tests to use Scala FlatSpec api
which seems to be working with bazel. Will test again after his changes
and create a separate PR if additional changes are needed. Also, it's
good to be consistent with the unit tests api going forward unless we
really need others.

## Checklist
- [ ] Added Unit Tests
- [x] Covered by existing CI
- [ ] Integration tested
- [ ] Documentation update



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Dependencies**
- Updated logging framework dependency to Log4j 2.x across various
libraries.
	- Updated ScalaTest dependencies in API testing.
	- Migrated library dependencies from Maven to Scala artifacts.
	- Updated Jackson, JSON4s, and other library versions.
	- Added new dependencies for Guava, Netty, Delta Spark, and Kafka.

- **Build Configuration**
	- Introduced new Scala library and test configurations.
	- Added JVM binary assembly configuration.
	- Refined Bazel build rule imports and loading.

- **Dependency Management**
	- Removed several unused dependencies.
	- Simplified dependency references.
	- Updated runtime dependency paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@coderabbitai coderabbitai bot mentioned this pull request Mar 28, 2025
4 tasks
kumar-zlai added a commit that referenced this pull request Apr 25, 2025
## Summary
Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not
getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for
working on the script to modify our tests to use Scala FlatSpec api
which seems to be working with bazel. Will test again after his changes
and create a separate PR if additional changes are needed. Also, it's
good to be consistent with the unit tests api going forward unless we
really need others.

## Checklist
- [ ] Added Unit Tests
- [x] Covered by existing CI
- [ ] Integration tested
- [ ] Documentation update



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Dependencies**
- Updated logging framework dependency to Log4j 2.x across various
libraries.
	- Updated ScalaTest dependencies in API testing.
	- Migrated library dependencies from Maven to Scala artifacts.
	- Updated Jackson, JSON4s, and other library versions.
	- Added new dependencies for Guava, Netty, Delta Spark, and Kafka.

- **Build Configuration**
	- Introduced new Scala library and test configurations.
	- Added JVM binary assembly configuration.
	- Refined Bazel build rule imports and loading.

- **Dependency Management**
	- Removed several unused dependencies.
	- Simplified dependency references.
	- Updated runtime dependency paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
kumar-zlai added a commit that referenced this pull request Apr 29, 2025
## Summary
Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not
getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for
working on the script to modify our tests to use Scala FlatSpec api
which seems to be working with bazel. Will test again after his changes
and create a separate PR if additional changes are needed. Also, it's
good to be consistent with the unit tests api going forward unless we
really need others.

## Checklist
- [ ] Added Unit Tests
- [x] Covered by existing CI
- [ ] Integration tested
- [ ] Documentation update



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Dependencies**
- Updated logging framework dependency to Log4j 2.x across various
libraries.
	- Updated ScalaTest dependencies in API testing.
	- Migrated library dependencies from Maven to Scala artifacts.
	- Updated Jackson, JSON4s, and other library versions.
	- Added new dependencies for Guava, Netty, Delta Spark, and Kafka.

- **Build Configuration**
	- Introduced new Scala library and test configurations.
	- Added JVM binary assembly configuration.
	- Refined Bazel build rule imports and loading.

- **Dependency Management**
	- Removed several unused dependencies.
	- Simplified dependency references.
	- Updated runtime dependency paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
chewy-zlai pushed a commit that referenced this pull request May 15, 2025
## Summary
Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not
getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for
working on the script to modify our tests to use Scala FlatSpec api
which seems to be working with bazel. Will test again after his changes
and create a separate PR if additional changes are needed. Also, it's
good to be consistent with the unit tests api going forward unless we
really need others.

## Checklist
- [ ] Added Unit Tests
- [x] Covered by existing CI
- [ ] Integration tested
- [ ] Documentation update



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Dependencies**
- Updated logging framework dependency to Log4j 2.x across various
libraries.
	- Updated ScalaTest dependencies in API testing.
	- Migrated library dependencies from Maven to Scala artifacts.
	- Updated Jackson, JSON4s, and other library versions.
	- Added new dependencies for Guava, Netty, Delta Spark, and Kafka.

- **Build Configuration**
	- Introduced new Scala library and test configurations.
	- Added JVM binary assembly configuration.
	- Refined Bazel build rule imports and loading.

- **Dependency Management**
	- Removed several unused dependencies.
	- Simplified dependency references.
	- Updated runtime dependency paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
chewy-zlai pushed a commit that referenced this pull request May 15, 2025
## Summary
Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not
getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for
working on the script to modify our tests to use Scala FlatSpec api
which seems to be working with bazel. Will test again after his changes
and create a separate PR if additional changes are needed. Also, it's
good to be consistent with the unit tests api going forward unless we
really need others.

## Checklist
- [ ] Added Unit Tests
- [x] Covered by existing CI
- [ ] Integration tested
- [ ] Documentation update



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Dependencies**
- Updated logging framework dependency to Log4j 2.x across various
libraries.
	- Updated ScalaTest dependencies in API testing.
	- Migrated library dependencies from Maven to Scala artifacts.
	- Updated Jackson, JSON4s, and other library versions.
	- Added new dependencies for Guava, Netty, Delta Spark, and Kafka.

- **Build Configuration**
	- Introduced new Scala library and test configurations.
	- Added JVM binary assembly configuration.
	- Refined Bazel build rule imports and loading.

- **Dependency Management**
	- Removed several unused dependencies.
	- Simplified dependency references.
	- Updated runtime dependency paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
chewy-zlai pushed a commit that referenced this pull request May 16, 2025
## Summary
Migrated spark module to bazel.

Known issue with tests : JUnit and Scala tests using FunSuite are not
getting identified in bazel scala_test_suite. Thanks to @nikhil-zlai for
working on the script to modify our tests to use Scala FlatSpec api
which seems to be working with bazel. Will test again after his changes
and create a separate PR if additional changes are needed. Also, it's
good to be consistent with the unit tests api going forward unless we
really need others.

## Cheour clientslist
- [ ] Added Unit Tests
- [x] Covered by existing CI
- [ ] Integration tested
- [ ] Documentation update



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Dependencies**
- Updated logging framework dependency to Log4j 2.x across various
libraries.
	- Updated ScalaTest dependencies in API testing.
	- Migrated library dependencies from Maven to Scala artifacts.
	- Updated Jaour clientsson, JSON4s, and other library versions.
	- Added new dependencies for Guava, Netty, Delta Spark, and Kafka.

- **Build Configuration**
	- Introduced new Scala library and test configurations.
	- Added JVM binary assembly configuration.
	- Refined Bazel build rule imports and loading.

- **Dependency Management**
	- Removed several unused dependencies.
	- Simplified dependency references.
	- Updated runtime dependency paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@coderabbitai coderabbitai bot mentioned this pull request Jul 1, 2025
4 tasks
@coderabbitai coderabbitai bot mentioned this pull request Aug 11, 2025
4 tasks
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.

4 participants