-
Notifications
You must be signed in to change notification settings - Fork 21
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
chore: re-enable deps validation #442
base: main
Are you sure you want to change the base?
Conversation
9f0914e
to
3a67ac0
Compare
build.gradle
Outdated
def storages = ["s3", "gcs", "azure"] | ||
def ignoreDeps = ["e2e"] | ||
|
||
storages.forEach { s -> | ||
println "Validating modules for storage: $s" | ||
def dependencyVersions = [:] | ||
subprojects { subproject -> | ||
if (ignoreDeps.contains(subproject.name)) return | ||
if (s == subproject.name || !storages.contains(subproject.name)) { |
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.
How do you thinks: would it be possible to declare this task on the storage project-level so we don't need to filter and search (of course from the single definition)?
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.
Good idea, there's only common and core modules to add as deps to storage backends. See last commit, thanks!
3c8df33
to
3cbfc6b
Compare
What about just using
? |
3cbfc6b
to
bbc15c6
Compare
@AnatolyPopov if you reproduce the first commit in this PR, the following conflicts are found:
This is unfortunately not found by your suggested configuration. IIUC, as the storage modules are not dependent on core then the collision of libraries between these are not found by default tooling--hence the custom script. |
@jeqo What's the scope of the dependencies you listed? And because of reversed dependecies those conflicts should be visible when you run :core:dependencies then |
bbc15c6
to
d4fc6d8
Compare
It's comparing dependency versions from runtimeClasspath.
I'm running core:dependencies with the configuration provided before and still I can't observe the same validation. Could you provide a complete example with an out-of-the-box command that reports the same issues on this project? As an reference I added the output of running: |
Well, after looking into this more deeply I can say that default tooling does not find the conflict because there is no dependencies between
This kind of scope definition will not change the resulting distribution, e.g. |
Re-enable custom task to validate storage dependencies.
As a reminder this task collects dep versions used by each storage module, and compares it against versions used by core. It it contains the same dep but versions do not match, then fail build.
e.g. running the first commit on storage:gcs and azure reports conflicting libraries that are fixed in the following commits: