msrb pushed to javapackages-tools (master). "Fix "UnboundLocalError: local variable 'pom_requires' referenced before assignment""

notifications at fedoraproject.org notifications at fedoraproject.org
Thu Apr 23 13:07:36 UTC 2015


>From 443a2924c1a80fda72a0fd1007168aab898a69da Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb at redhat.com>
Date: Thu, 23 Apr 2015 14:51:58 +0200
Subject: Fix "UnboundLocalError: local variable 'pom_requires' referenced
 before assignment"


diff --git a/0001-Fix-UnboundLocalError-local-variable-pom_requires-re.patch b/0001-Fix-UnboundLocalError-local-variable-pom_requires-re.patch
new file mode 100644
index 0000000..d1da954
--- /dev/null
+++ b/0001-Fix-UnboundLocalError-local-variable-pom_requires-re.patch
@@ -0,0 +1,79 @@
+From eccdd3f5adca4330f7de2416bea86349e2d4706e Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb at 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
+
diff --git a/javapackages-tools.spec b/javapackages-tools.spec
index 6600b4a..fc3c94f 100644
--- a/javapackages-tools.spec
+++ b/javapackages-tools.spec
@@ -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 at redhat.com> - 4.5.0-3
+- Fix "UnboundLocalError: local variable 'pom_requires' referenced before assignment"
+
 * Tue Apr 21 2015 Michael Simacek <msimacek at redhat.com> - 4.5.0-2
 - Remove fedora-review-plugin-java subpackage
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/javapackages-tools.git/commit/?h=master&id=443a2924c1a80fda72a0fd1007168aab898a69da


More information about the scm-commits mailing list