[java-sig-commits] [javapackages] Fix pom handling when version tag is only in parent

Stanislav Ochotnicky sochotni at fedoraproject.org
Mon Sep 9 16:14:09 UTC 2013


commit ced03ba8546d23619e4e64ce99971d6aa3807cda
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Mon Sep 9 18:00:17 2013 +0200

    Fix pom handling when version tag is only in parent

 python/javapackages/pom.py          |    3 ++-
 python/test/data/parent-version.pom |   21 +++++++++++++++++++++
 python/test/pom_test.py             |    7 +++++++
 3 files changed, 30 insertions(+), 1 deletions(-)
---
diff --git a/python/javapackages/pom.py b/python/javapackages/pom.py
index e3d6aee..a8a665b 100644
--- a/python/javapackages/pom.py
+++ b/python/javapackages/pom.py
@@ -84,7 +84,8 @@ class POM(object):
         """
         version = self.__find('./pom:version')
         if version is None:
-            version = self.__find('./pom:parent/pom:version').text
+            version = self.__find('./pom:parent/pom:version')
+            assert version is not None
         return version.text
 
     @property
diff --git a/python/test/data/parent-version.pom b/python/test/data/parent-version.pom
new file mode 100644
index 0000000..ffac0cc
--- /dev/null
+++ b/python/test/data/parent-version.pom
@@ -0,0 +1,21 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.commons</groupId>
+    <artifactId>commons-parent</artifactId>
+    <version>17</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>commons-lang</groupId>
+  <artifactId>commons-lang</artifactId>
+  <name>Commons Lang</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies> 
+
+</project>
diff --git a/python/test/pom_test.py b/python/test/pom_test.py
index 5fc2b3e..39cb5ce 100644
--- a/python/test/pom_test.py
+++ b/python/test/pom_test.py
@@ -50,6 +50,13 @@ class TestPOM(unittest.TestCase):
         self.assertEqual(p.artifactId, "xmlrpc")
         self.assertEqual(p.version, "3.1.3")
 
+    @pomfile("parent-version.pom")
+    def test_no_xmlns(self, p):
+        self.assertEqual(p.packaging, None)
+        self.assertEqual(p.groupId, "commons-lang")
+        self.assertEqual(p.artifactId, "commons-lang")
+        self.assertEqual(p.version, "17")
+
     @exception_expected(lxml.etree.XMLSyntaxError)
     @pomfile("unparsable_xml.pom")
     def test_unparsable_xml(self, p):


More information about the java-sig-commits mailing list