-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-49518][K8S][BUILD] Change to using build-helper-maven-plugin to manage the code for volcano
#47997
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
Conversation
build-helper-maven-plugin to manage the code for volcano
|
Test first |
build-helper-maven-plugin to manage the code for volcanobuild-helper-maven-plugin to manage the code for volcano
dongjoon-hyun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, LGTM (Pending CIs). Thank you, @LuciferYang .
CI Passed, looks ok |
|
cc @Yikun |
|
Merged to master. Thank you, @LuciferYang and all! |
|
Thanks @dongjoon-hyun ~ |
|
thanks for fixing this, a small suggestion about the folder layout. instead of how about the former makes |
|
@pan3793 Thank you for your suggestion. The current directory structure is based on the structure of the
For the proposed design mentioned above, should all |

What changes were proposed in this pull request?
The main changes in this pr are as follows:
resource-managers/kubernetes/core/pom.xmlandresource-managers/kubernetes/integration-tests/pom.xml, thebuild-helper-maven-pluginconfiguration has been added for thevolcanoprofile to ensure that when the profile is activated with-Pvolcano, thevolcano/src/main/scaladirectory is treated as an additional source path, andvolcano/src/test/scaladirectory is treated as an additional test code path.resource-managers/kubernetes/core/pom.xmlresource-managers/kubernetes/integration-tests/pom.xmlvolcano-related source/test code in SPARK-36061 | [SPARK-36061][K8S] Addvolcanomodule and feature step #35422.Since Spark uses the
sbt-pom-readerplugin in its sbt configuration, the behavior of thebuild-helper-maven-pluginwill also propagate to the sbt build process. Therefore, no additional configuration is required inSparkBuild.scalaafter this pr.Why are the changes needed?
The previous configuration way was not very friendly to IntelliJ developers: when debugging code in IntelliJ, regardless of whether they were needed or not, the
volcanoprofile had to be activated; otherwise compilation errors would occur when running tests that depended on thekubernetesmodule's source code, for exampleorg.apache.spark.shuffle.ShuffleChecksumUtilsSuite:Does this PR introduce any user-facing change?
No
How was this patch tested?
It can be seen that the test cases
VolcanoFeatureStepSuiteandVolcanoSuitehave been successfully executed.build/sbt clean "kubernetes/testOnly *VolcanoFeatureStepSuite" -Pkubernetes, and without-Pvolcano, no tests will be executed:build/sbt clean "kubernetes/testOnly *VolcanoFeatureStepSuite" -Pkubernetes -Pvolcano, and with-Pvolcano,VolcanoFeatureStepSuitewill pass the tests:run
build/sbt clean "kubernetes/package" -Pkubernetes -Pvolcano, and with-Pvolcano, confirm thatspark-kubernetes_2.13-4.0.0-SNAPSHOT.jarcontainsVolcanoFeatureStep.classrun
build/sbt clean "kubernetes/package" -Pkubernetes, and without-Pvolcano, confirm thatspark-kubernetes_2.13-4.0.0-SNAPSHOT.jarnot containsVolcanoFeatureStep.classbuild/mvn clean test -pl resource-managers/kubernetes/core -am -Dtest=none -DwildcardSuites=org.apache.spark.deploy.k8s.features.VolcanoFeatureStepSuite -Pkubernetes, and without-Pvolcano, no tests will be executed:build/mvn clean test -pl resource-managers/kubernetes/core -am -Dtest=none -DwildcardSuites=org.apache.spark.deploy.k8s.features.VolcanoFeatureStepSuite -Pkubernetes -Pvolcano, and with-Pvolcano,VolcanoFeatureStepSuitewill pass the tests:run
build/mvn clean package -pl resource-managers/kubernetes/core -am -DskipTests -Pkubernetes -Pvolcanoand with-Pvolcano, confirm thatspark-kubernetes_2.13-4.0.0-SNAPSHOT.jarcontainsVolcanoFeatureStep.classrun
build/mvn clean package -pl resource-managers/kubernetes/core -am -DskipTests -Pkubernetesand without-Pvolcano, confirm thatspark-kubernetes_2.13-4.0.0-SNAPSHOT.jarnot containsVolcanoFeatureStep.classvolcano, and confirm thatvolcano-related code is not recognized as source/test code, and does not affect the compilation and testing of other code.volcano, and confirm thatvolcano-related code is recognized as source/test code, and can be compiled and tested normally.kubernetes-integration-testsmodule to confirm the validity of thevolcanoprofile.Was this patch authored or co-authored using generative AI tooling?
No