diff --git a/ivy/CustomPomParser.scala b/ivy/CustomPomParser.scala index 8f64fd950..9135cab41 100644 --- a/ivy/CustomPomParser.scala +++ b/ivy/CustomPomParser.scala @@ -64,7 +64,7 @@ object CustomPomParser // Fixes up the detected extension in some cases missed by Ivy. val convertArtifacts = artifactExtIncorrect(md) - val unqualify = filtered - ExtraAttributesKey + val unqualify = (filtered - ExtraAttributesKey) map { case (k,v) => ("e:" + k, v) } if(unqualify.isEmpty && extraDepAttributes.isEmpty && !convertArtifacts) md else @@ -168,6 +168,7 @@ object CustomPomParser for(l <- md.getLicenses) dmd.addLicense(l) for( (key,value) <- md.getExtraInfo.asInstanceOf[java.util.Map[String,String]].asScala ) dmd.addExtraInfo(key, value) for( (key, value) <- md.getExtraAttributesNamespaces.asInstanceOf[java.util.Map[String,String]].asScala ) dmd.addExtraAttributeNamespace(key, value) + IvySbt.addExtraNamespace(dmd) for( dd <- md.getDependencies ) dmd.addDependency(addExtra(dd, dependencyExtra)) for( ed <- md.getInheritedDescriptors) dmd.addInheritedDescriptor( new DefaultExtendsDescriptor( mrid, resolvedMrid, ed.getLocation, ed.getExtendsTypes) ) diff --git a/ivy/Ivy.scala b/ivy/Ivy.scala index 0c378c899..b59f639a8 100644 --- a/ivy/Ivy.scala +++ b/ivy/Ivy.scala @@ -130,7 +130,7 @@ final class IvySbt(val configuration: IvyConfiguration) case ifc: IvyFileConfiguration => configureIvyFile(ifc) } moduleSettings.ivyScala.foreach(IvyScala.checkModule(baseModule, baseConfiguration)) - baseModule.getExtraAttributesNamespaces.asInstanceOf[java.util.Map[String,String]].put("e", "http://ant.apache.org/ivy/extra") + IvySbt.addExtraNamespace(baseModule) (baseModule, baseConfiguration) } private def configureInline(ic: InlineConfiguration, log: Logger) = @@ -286,6 +286,9 @@ private object IvySbt import configuration._ new IvyConfig(name, if(isPublic) PUBLIC else PRIVATE, description, extendsConfigs.map(_.name).toArray, transitive, null) } + def addExtraNamespace(dmd: DefaultModuleDescriptor): Unit = + dmd.addExtraAttributeNamespace("e", "http://ant.apache.org/ivy/extra") + /** Adds the ivy.xml main artifact. */ private def addMainArtifact(moduleID: DefaultModuleDescriptor) {