You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Erik-Berndt Scheper (JIRA)" <ji...@apache.org> on 2008/06/12 14:36:44 UTC

[jira] Reopened: (IVY-833) ant task generates invalid ivy files from pom's

     [ https://issues.apache.org/jira/browse/IVY-833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Erik-Berndt Scheper reopened IVY-833:
-------------------------------------


Well unfortunately it doesn't. Not always at least. 
The solution works fine if I do not have a namespace mapping. 

E.g. when I download junit 3.8.2 from repo1.maven.org, I get the following ivy-junit-3.8.2.xml file:

{code:xml}
<publications>
  <artifact name="junit" type="jar" ext="jar" conf="master"/>
  <artifact name="junit" type="source" ext="jar" conf="sources" m:classifier="sources"/>
  <artifact name="junit" type="javadoc" ext="jar" conf="javadoc" m:classifier="javadoc"/>
</publications>
{code}

This works fine (classifier-attribute has the maven namespace).

However, if I add a simple maven namespacemapping, to modify the organization to org.junit: 
{code:xml}
<namespaces>
  <namespace name="maven2">
    <rule>
	    <fromsystem>
	    	<src org="org.junit" module="junit" />
		    <dest org="junit" module="$m0" />
	    </fromsystem>
	    <tosystem>
		    <src org="junit" module="junit" />
		    <dest org="org.junit" module="$m0" />
	    </tosystem>
    </rule>
  </namespace>
</namespaces>
{code}

Now I get the following ivy-junit-3.8.2.xml file:

{code:xml}
<publications>
  <artifact name="junit" type="jar" ext="jar" conf="master"/>
  <artifact name="junit" type="source" ext="jar" conf="sources" classifier="sources"/>
  <artifact name="junit" type="javadoc" ext="jar" conf="javadoc" classifier="javadoc"/>
</publications>
{code}

This is invalid: maven namespace has been removed from the classifier-attribute.


> <ivy:install> ant task generates invalid ivy files from pom's
> -------------------------------------------------------------
>
>                 Key: IVY-833
>                 URL: https://issues.apache.org/jira/browse/IVY-833
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0-RC1
>            Reporter: Erik-Berndt Scheper
>            Priority: Critical
>             Fix For: 2.0-RC1
>
>
> Using the latest build from trunk, <ivy:install> now generates ivy files that do not conform to ivy.xsd, when installing from maven POM. The reason is that the classifier attribute is added to the artifact element, which is not in the xsd.
> Snippet of tesulting ivy-file for spring-oxm-tiger (from http://repo1.maven.org/maven2/org/springframework/ws/spring-oxm-tiger/1.5.2/spring-oxm-tiger-1.5.2.pom ):
> {code:xml}
> 	<publications>
> 		<artifact name="spring-xml" type="jar" ext="jar" conf="master"/>
> 		<artifact name="spring-xml" type="source" ext="jar" conf="sources" classifier="sources"/>
> 		<artifact name="spring-xml" type="javadoc" ext="jar" conf="javadoc" classifier="javadoc"/>
> 	</publications>
> {code}
> Stack trace:
> {noformat}
> [ivy:install] :: installing org.springframework.ws#spring-oxm-tiger;1.5.2 ::
> [ivy:install] :: resolving dependencies ::
> [ivy:install] java.text.ParseException: [xml parsing: ivy-spring-oxm-tiger-1.5.2.xml:102:98: cvc-complex-type.3.2.2: Attribute 'classifier' is not allowed to appear in element 'artifact'. in D:\ws\eclipse-3.3.1\AAD\build\ivy-repository-copy\..\..\ivy-cache\integration\org.springframework.ws\spring-oxm-tiger\1.5.2\ivy-spring-oxm-tiger-1.5.2.xml
> [ivy:install] , xml parsing: ivy-spring-oxm-tiger-1.5.2.xml:103:99: cvc-complex-type.3.2.2: Attribute 'classifier' is not allowed to appear in element 'artifact'. in D:\ws\eclipse-3.3.1\AAD\build\ivy-repository-copy\..\..\ivy-cache\integration\org.springframework.ws\spring-oxm-tiger\1.5.2\ivy-spring-oxm-tiger-1.5.2.xml
> [ivy:install] ]
> [ivy:install] 	at org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser$AbstractParser.checkErrors(AbstractModuleDescriptorParser.java:89)
> [ivy:install] 	at org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser$AbstractParser.getModuleDescriptor(AbstractModuleDescriptorParser.java:342)
> [ivy:install] 	at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser.parseDescriptor(XmlModuleDescriptorParser.java:100)
> [ivy:install] 	at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:899)
> [ivy:install] 	at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:490)
> [ivy:install] 	at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:239)
> [ivy:install] 	at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:169)
> [ivy:install] 	at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:257)
> [ivy:install] 	at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:610)
> [ivy:install] 	at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:696)
> [ivy:install] 	at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:618)
> [ivy:install] 	at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:501)
> [ivy:install] 	at org.apache.ivy.core.install.InstallEngine.install(InstallEngine.java:119)
> {noformat}
> This did not happen in my previous build from trunk (dated 26 May 2008).
> BTW: Is it intentional that the source and javadoc are not downloaded from the maven repository? Or is there a flag to enable this?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.