commit 56299685f637422f2e0a36725cd9985200f3e993
Author: Stanislav Ochotnicky <sochotnicky(a)redhat.com>
Date: Fri Nov 1 17:15:19 2013 +0100
[maven.req] Handle dependecies with "UNKNOWN" version from XMvn
XMvn can generate dependency with UNKNOWN version in some cases. The package can
build but it's impossible to figure out what requires should be generated
because we don't know the origin of given dependency. It could be ordinary
package, compat package or a package with some namespace.
In that case we fail the build and enforce packager to decide if the dependency
should be removed completely or a proper BuildRequires added.
depgenerators/maven.req | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index 6475ad2..5bd6c34 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -95,7 +95,12 @@ class TagBuilder:
base_package_requires.add("jpackage-utils")
for basereq in base_package_requires:
print basereq
+
+ unknown_deps = []
for dependency in depmap.get_required_artifacts():
+ if dependency.version == "UNKNOWN":
+ unknown_deps.append(dependency)
+ continue
for skipped in self.skipped_artifacts:
if (skipped.groupId == dependency.groupId and
skipped.artifactId == dependency.artifactId and
@@ -132,6 +137,16 @@ class TagBuilder:
dependency.extension = ""
print(dependency.get_rpm_str(dependency.version))
+ if unknown_deps:
+ unknown_msg = "Following dependencies were not resolved and " \
+ "requires cannot be generated. Either remove the " \
+ "dependency from pom.xml or add proper packages to "
\
+ "BuildRequires:\n"
+ for unknown in unknown_deps:
+ unknown_msg = unknown_msg + \
+ "{art}\n".format(art=unknown)
+ raise Exception(unknown_msg)
+
if skipped_but_required:
skipped_msg = "Following artifacts were built " \
"but are not being installed however other " \
Show replies by date