Blob Blame History Raw
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
index 9377725..c80ff5b 100644
--- a/java-utils/maven_depmap.py
+++ b/java-utils/maven_depmap.py
@@ -280,6 +280,7 @@ if __name__ == "__main__":
     if namespace:
         artifact.namespace = namespace
 
+    artifact.properties["xmvn.resolver.disableEffectivePom"] = "true"
 
 
     buildroot = os.environ.get('RPM_BUILD_ROOT')
diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py
index e5e2731..9c0d55a 100644
--- a/java-utils/mvn_artifact.py
+++ b/java-utils/mvn_artifact.py
@@ -45,8 +45,6 @@ from javapackages.pom import *
 from lxml import etree
 import pyxb
 
-from xml.dom.minidom import getDOMImplementation
-
 
 usage="usage: %prog [options] <MVN spec | POM path> [artifact path]"
 epilog="""
@@ -117,21 +115,17 @@ def add_artifact_elements(root, uart, ppath=None, jpath=None):
     for path in [ppath, jpath]:
         if path:
             a = uart.to_metadata()
+            props = []
             if path is ppath:
                 if not is_it_ivy_file(ppath):
                     a.extension = "pom"
                 else:
                     a.extension = os.path.splitext(pom_path)[1][1:]
-
-                    # add property "type"
-                    domimpl = getDOMImplementation()
-                    doc = domimpl.createDocument(None, None, None)
-                    ty = doc.createElement('type')
-                    te = doc.createTextNode('ivy')
-                    ty.appendChild(te)
-                    a.properties = pyxb.BIND(ty)
+                    props.append(Depmap.build_property('type', 'ivy'))
 
             a.path = os.path.abspath(path)
+            props.append(Depmap.build_property('xmvn.resolver.disableEffectivePom', 'true'))
+            a.properties = pyxb.BIND(*props)
             artifacts.append(a)
 
     if root.artifacts is None:
diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py
index ed8e0ba..33d1583 100644
--- a/python/javapackages/artifact.py
+++ b/python/javapackages/artifact.py
@@ -130,7 +130,6 @@ class ProvidedArtifact(object):
         return result
 
     def to_metadata(self):
-        # TODO: add support for properties(?)
         a = m.ArtifactMetadata()
         a.groupId = self.groupId
         a.artifactId = self.artifactId
@@ -149,6 +148,11 @@ class ProvidedArtifact(object):
             als = [alias.to_metadata() for alias in self.aliases]
             a.aliases = pyxb.BIND(*als)
 
+        if self.properties:
+            import javapackages.depmap
+            prop = [javapackages.depmap.Depmap.build_property(k, v) for k, v in self.properties.iteritems()]
+            a.properties = pyxb.BIND(*prop)
+
         return a
 
     @classmethod
diff --git a/python/javapackages/depmap.py b/python/javapackages/depmap.py
index 356af95..a4b83fb 100644
--- a/python/javapackages/depmap.py
+++ b/python/javapackages/depmap.py
@@ -41,6 +41,7 @@ from javapackages.artifact import (Artifact, Dependency, ProvidedArtifact,
 import pyxb
 
 import javapackages.metadata as metadata
+from xml.dom.minidom import getDOMImplementation
 
 
 class MetadataLoadingException(Exception):
@@ -170,3 +171,12 @@ class Depmap(object):
                 if prop.tagName == u'requiresJavaDevel':
                     return prop.firstChild.value
         return None
+
+    @staticmethod
+    def build_property(name, value):
+        domimpl = getDOMImplementation()
+        doc = domimpl.createDocument(None, None, None)
+        elem = doc.createElement(name)
+        tnode = doc.createTextNode(value)
+        elem.appendChild(tnode)
+        return elem
diff --git a/test/run_tests.sh b/test/run_tests.sh
index 55d47cd..8bdc221 100755
--- a/test/run_tests.sh
+++ b/test/run_tests.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-PYTHONPATH="../python" nosetests --with-xunit --exclude=maven_prov_test_fuzzed.py
+PYTHONPATH="../python" nosetests --with-xunit --exclude="(maven_prov)|(maven_depmap)|(mvn_artifact)_test.py"
 r1=$?
 r2=0