From 487c9cf2959b00f10ab556e4c473cb52ea70b7fe Mon Sep 17 00:00:00 2001 From: Peter Laird Date: Thu, 7 Nov 2024 11:55:02 -0700 Subject: [PATCH] Fix edge case where dep depends on a pom file --- crawl/bazel.py | 20 ++++++++++++++------ tests/bazeltest.py | 3 ++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/crawl/bazel.py b/crawl/bazel.py index dd1f18e..d153a5c 100644 --- a/crawl/bazel.py +++ b/crawl/bazel.py @@ -310,12 +310,20 @@ def _get_direct_deps(direct_dep_coords_wo_vers, coord_wo_vers_to_dep, maven_inst break if direct_dep is None: - msg = "Failed to find top level dependency instance for [{0}] with direct dep coord [{1}]".format( - maven_install_filename, direct_dep_coord_wo_vers) - logger.warning(msg) - assert not fail_on_missing, msg - return [] - direct_deps.append(direct_dep) + if direct_dep_coord_wo_vers.endswith(":pom"): + # this is an edge case where a dependency is a pom + # ex: org.kie.modules:org-apache-commons-lang3:pom + msg = "Direct dependency on a pom [{0}] in namespace [{1}] is ignored. Please depend on actual jar files instead.".format( + direct_dep_coord_wo_vers, maven_install_filename) + logger.warning(msg) + else: + msg = "Failed to find top level dependency instance for [{0}] with direct dep coord [{1}]".format( + maven_install_filename, direct_dep_coord_wo_vers) + logger.warning(msg) + assert not fail_on_missing, msg + return [] + else: + direct_deps.append(direct_dep) return direct_deps diff --git a/tests/bazeltest.py b/tests/bazeltest.py index 94e7073..76d678f 100644 --- a/tests/bazeltest.py +++ b/tests/bazeltest.py @@ -277,7 +277,8 @@ def _get_dep_and_transitives(self, result, group_id, artifact_id, rule_name): "google.guava:guava" ], "org.apache.kafka:kafka-clients:jar:test": [ - "ch.qos.logback:logback-core" + "ch.qos.logback:logback-core", + "org.kie.modules:org-apache-commons-lang3:pom" ], "org.springframework.kafka:spring-kafka-test": [ "org.apache.kafka:kafka-clients:jar:test"