Fix "UnboundLocalError: local variable 'pom_requires' referenced before assignment"

This commit is contained in:
Michal Srb 2015-04-23 14:51:58 +02:00
parent a4d2659564
commit 443a2924c1
2 changed files with 86 additions and 1 deletions

View File

@ -0,0 +1,79 @@
From eccdd3f5adca4330f7de2416bea86349e2d4706e Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@redhat.com>
Date: Thu, 23 Apr 2015 11:01:39 +0200
Subject: [PATCH] Fix "UnboundLocalError: local variable 'pom_requires'
referenced before assignment"
---
depgenerators/maven.req | 4 ++--
test/maven_req_test.py | 7 +++++++
.../buildroot/usr/share/maven-metadata/require.xml | 11 +++++++++++
3 files changed, 20 insertions(+), 2 deletions(-)
create mode 100644 test/metadata/require-no-artifacts/buildroot/usr/share/maven-metadata/require.xml
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index 77a54e7..39a56db 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -82,6 +82,8 @@ class TagBuilder(object):
Print Requires on plugins, extensions and parent POMs from POM files
"""
+ unresolvable = []
+ pom_requires = set()
for artifact in metadata.artifacts:
if artifact.path:
pom = POM(artifact.get_buildroot_path())
@@ -115,7 +117,6 @@ class TagBuilder(object):
# plugins+extensions
deps.extend(pom.plugins + pom.extensions)
- unresolvable = []
# create xmvn-resolve request for plugins and extensions, skip
# parent POM, if there is any - we already have request created
# for it
@@ -126,7 +127,6 @@ class TagBuilder(object):
# TODO: check metadata first
results = XMvnResolve.process_raw_request(reqs)
- pom_requires = set()
for i, r in enumerate(results):
dep = MetadataDependency(deps[i].groupId,
deps[i].artifactId,
diff --git a/test/maven_req_test.py b/test/maven_req_test.py
index 68e2f23..0d5b0bd 100644
--- a/test/maven_req_test.py
+++ b/test/maven_req_test.py
@@ -286,5 +286,12 @@ class TestMavenReq(unittest.TestCase):
want = ("mvn(dg:da)", "java-headless", "jpackage-utils")
self.assertEqual(set(want), set(sout))
+ @mavenreq(["require-no-artifacts/buildroot/usr/share/maven-metadata/require.xml"])
+ def test_no_artifacts(self, stdout, stderr, return_value):
+ self.assertEqual(return_value, 0, stderr)
+ sout = [x for x in stdout.split('\n') if x]
+ want = ("java-headless", "jpackage-utils")
+ self.assertEqual(set(want), set(sout))
+
if __name__ == '__main__':
unittest.main()
diff --git a/test/metadata/require-no-artifacts/buildroot/usr/share/maven-metadata/require.xml b/test/metadata/require-no-artifacts/buildroot/usr/share/maven-metadata/require.xml
new file mode 100644
index 0000000..9db8a8f
--- /dev/null
+++ b/test/metadata/require-no-artifacts/buildroot/usr/share/maven-metadata/require.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://fedorahosted.org/xmvn/METADATA/2.3.0">
+ <uuid>0ebc9caa-eb88-4c53-b371-72514294b535</uuid>
+ <skippedArtifacts>
+ <skippedArtifact>
+ <groupId>org.eclipse.gef</groupId>
+ <artifactId>org.eclipse.gef.releng</artifactId>
+ <extension>pom</extension>
+ </skippedArtifact>
+ </skippedArtifacts>
+</metadata>
--
2.1.0

View File

@ -9,13 +9,14 @@
Name: javapackages-tools
Version: 4.5.0
Release: 2%{?dist}
Release: 3%{?dist}
Summary: Macros and scripts for Java packaging support
License: BSD
URL: https://git.fedorahosted.org/git/javapackages.git
Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz
Patch0: 0001-Fix-UnboundLocalError-local-variable-pom_requires-re.patch
BuildArch: noarch
@ -166,6 +167,8 @@ This package provides non-essential macros and scripts to support Java packaging
sed -i '/fedora-review/d' install
%patch0 -p1
%build
%if 0%{?with_python3}
%configure --pyinterpreter=%{__python3}
@ -216,6 +219,9 @@ popd
%doc LICENSE
%changelog
* Thu Apr 23 2015 Michal Srb <msrb@redhat.com> - 4.5.0-3
- Fix "UnboundLocalError: local variable 'pom_requires' referenced before assignment"
* Tue Apr 21 2015 Michael Simacek <msimacek@redhat.com> - 4.5.0-2
- Remove fedora-review-plugin-java subpackage