[ 
https://issues.apache.org/jira/browse/IVY-833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604508#action_12604508
 ] 

fbascheper edited comment on IVY-833 at 6/12/08 5:36 AM:
------------------------------------------------------------------

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.
Consequence: once again I get the error mentioned above.

      was (Author: fbascheper):
    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.

Reply via email to