-
Notifications
You must be signed in to change notification settings - Fork 244
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
[FEA] make deployed artifact pom self-contained without parent poms #10051
Comments
@gerashegalov I'm adding dependency check for the pre-merge and nightly build jobs, according to our discuss method
The dependency check still failed on |
Hi @NvTimLiu
The test should mimic the release deploy logic irrespective whether this issue (eliminating parent and intermediate poms) is fixed. If the test is failing it means it still does not reflect that currently deploy-file for jdk-profiles is required. Ideally the test should share the same script spark-rapids/jenkins/deploy.sh Lines 97 to 107 in ed1fa9f
just with different parameters. It would be helpful to create a file with the list of the artifacts required for the release. Then we could use it as the input in the release/test script. Once this issue is fixed we will drop the jdk-profiles module from this list, but the test remains valid. |
@gerashegalov Thanks for the explanation. I agree we can reuse the deploy script A file list of artifacts needs extra script for deploy.sh to work with, e.g. Over all, we need to refactor deploy.sh Let me check if we should break this issue into diff tasks. |
As of 23.12 and before we rely on separately deployed intermediate parent poms such as
rapids-4-spark-parent/
rapids-4-spark-private-parent/
Moreover there are separate Scala 2.13 parent poms https://oss.sonatype.org/content/repositories/snapshots/com/nvidia/
rapids-4-spark-private-parent_2.12/
rapids-4-spark-private-parent_2.13/
rapids-4-spark-private_2.12/
rapids-4-spark-private_2.13/
There is no shared parent pom to avoid dependencies between pipelines
There is an additional complexity from the fact that we do not deploy:deploy the artifacts with all related projects but selectively deploy artifacts with deploy:deploy-file which makes the process susceptible to accidental omissions of intermediate dependencies.
This issues proposes to fold parent pom definitions into the deployed leaf poms with the effect that there is no implicit dependency on any internal pom. The self-contained pom should contain just enough details for the artifact to be used as a dependency for external projects and for dependency:get not require any intermediate poms. This may be achievable by
flatten:flatten
or some similar custom logic whose output will be used with deploy:deploy-file.Note that this issue is only about the poms that are published externally to Central for other projects to consume spark-rapids as a dependency, which we already massage before deploying.
We should feel free to maintain any form most suitable for building spark-rapids.
The text was updated successfully, but these errors were encountered: