buildlist task chokes on absolute path to parent Ivy module

View: New views
5 Messages — Rating Filter:   Alert me  

buildlist task chokes on absolute path to parent Ivy module

by Mitch Gitman :: Rate this Message:

| View Threaded | Show Only this Message

I'm using the parent Ivy module feature with the ivy.xml
/ivy-module/info/extends element. This works just fine whether I use a
relative path or an absolute path for the location attribute that locates
the parent ivy.xml. When I go to run ivy:buildlist, however, it only works
with the relative path. The moment it encounters an absolute path for the
parent location, it fails with:
… impossible to parse ivy file for …: ivyfile=…/ivy.xml
exception=java.text.ParseException: Problem occurred while parsing ivy
file: Unable to
 parse included ivy file for …#...;… in file:/…/ivy.xml

The exception is being thrown in XmlModuleDescriptorParser, line 422:
            if (parent == null) {
                throw new ParseException("Unable to parse included ivy file
for "
                        + parentOrganisation + "#" + parentModule + ";" +
parentRevision, 0);
            }

I'm seeing this with Ivy 2.2.0. I haven't tried yet to reproduce it with
Ivy 2.3.0-rc1.

Is anyone familiar with this behavior? Is this a known bug or is there
something I'm missing?

Depending on what I hear back, I can try creating an isolated, simple use
case using both 2.2.0 and 2.3.0-rc1.

Re: buildlist task chokes on absolute path to parent Ivy module

by Mitch Gitman :: Rate this Message:

| View Threaded | Show Only this Message

I adapted src/example/multi-project in the Ivy distribution to have the
existing Ivy modules extend a parent ivy.xml. Such as:
<ivy-module version="1.0">
    <info
        organisation="org.apache.ivy.example"
        module="find"
        status="integration">
        <extends organisation="org.apache.ivy.example"
module="multi-parent" revision="1.0"
            location="../multi-parent/ivy.xml" />
    </info>

Both absolute and relative paths worked.

This suggests the problem is on my end. I'm going to try deconstructing the
failing modules next, but if this rings any bells, I'd be glad to hear.

On Mon, Jun 11, 2012 at 11:13 AM, Mitch Gitman <mgitman@...> wrote:

> I'm using the parent Ivy module feature with the ivy.xml
> /ivy-module/info/extends element. This works just fine whether I use a
> relative path or an absolute path for the location attribute that locates
> the parent ivy.xml. When I go to run ivy:buildlist, however, it only works
> with the relative path. The moment it encounters an absolute path for the
> parent location, it fails with:
> … impossible to parse ivy file for …: ivyfile=…/ivy.xml
> exception=java.text.ParseException: Problem occurred while parsing ivy
> file: Unable to
>  parse included ivy file for …#...;… in file:/…/ivy.xml
>
> The exception is being thrown in XmlModuleDescriptorParser, line 422:
>             if (parent == null) {
>                 throw new ParseException("Unable to parse included ivy
> file for "
>                         + parentOrganisation + "#" + parentModule + ";" +
> parentRevision, 0);
>             }
>
> I'm seeing this with Ivy 2.2.0. I haven't tried yet to reproduce it with
> Ivy 2.3.0-rc1.
>
> Is anyone familiar with this behavior? Is this a known bug or is there
> something I'm missing?
>
> Depending on what I hear back, I can try creating an isolated, simple use
> case using both 2.2.0 and 2.3.0-rc1.
>

Re: buildlist task chokes on absolute path to parent Ivy module

by Jean-Louis BOUDART :: Rate this Message:

| View Threaded | Show Only this Message

Which version of ivy are you using ? Work as been donne on 2.3 to fix those
kind of problem. As far as i know 2.3 is not yet released but toi can try a
nightly or rc.
Le 12 juin 2012 07:08, "Mitch Gitman" <mgitman@...> a écrit :

> I adapted src/example/multi-project in the Ivy distribution to have the
> existing Ivy modules extend a parent ivy.xml. Such as:
> <ivy-module version="1.0">
>    <info
>        organisation="org.apache.ivy.example"
>        module="find"
>        status="integration">
>        <extends organisation="org.apache.ivy.example"
> module="multi-parent" revision="1.0"
>            location="../multi-parent/ivy.xml" />
>    </info>
>
> Both absolute and relative paths worked.
>
> This suggests the problem is on my end. I'm going to try deconstructing the
> failing modules next, but if this rings any bells, I'd be glad to hear.
>
> On Mon, Jun 11, 2012 at 11:13 AM, Mitch Gitman <mgitman@...> wrote:
>
> > I'm using the parent Ivy module feature with the ivy.xml
> > /ivy-module/info/extends element. This works just fine whether I use a
> > relative path or an absolute path for the location attribute that locates
> > the parent ivy.xml. When I go to run ivy:buildlist, however, it only
> works
> > with the relative path. The moment it encounters an absolute path for the
> > parent location, it fails with:
> > … impossible to parse ivy file for …: ivyfile=…/ivy.xml
> > exception=java.text.ParseException: Problem occurred while parsing ivy
> > file: Unable to
> >  parse included ivy file for …#...;… in file:/…/ivy.xml
> >
> > The exception is being thrown in XmlModuleDescriptorParser, line 422:
> >             if (parent == null) {
> >                 throw new ParseException("Unable to parse included ivy
> > file for "
> >                         + parentOrganisation + "#" + parentModule + ";" +
> > parentRevision, 0);
> >             }
> >
> > I'm seeing this with Ivy 2.2.0. I haven't tried yet to reproduce it with
> > Ivy 2.3.0-rc1.
> >
> > Is anyone familiar with this behavior? Is this a known bug or is there
> > something I'm missing?
> >
> > Depending on what I hear back, I can try creating an isolated, simple use
> > case using both 2.2.0 and 2.3.0-rc1.
> >
>

Re: buildlist task chokes on absolute path to parent Ivy module

by Mitch Gitman :: Rate this Message:

| View Threaded | Show Only this Message

See: "I'm seeing this with Ivy 2.2.0." I'll see what happens with 2.3.0-rc1.

On Wed, Jun 20, 2012 at 12:13 AM, Jean-Louis Boudart <
jeanlouis.boudart@...> wrote:

> Which version of ivy are you using ? Work as been donne on 2.3 to fix those
> kind of problem. As far as i know 2.3 is not yet released but toi can try a
> nightly or rc.

Re: buildlist task chokes on absolute path to parent Ivy module

by Mitch Gitman :: Rate this Message:

| View Threaded | Show Only this Message

I've upgraded to Ivy 2.3.0-rc1, as should be apparent from the "extends &
buildlist" thread I started. Now I try plugging in an absolute path to the
parent filesystem location. It works in a functional sense. However, I'm
seeing the following false-positive warning message, apparently because I'm
using a Windows filesystem path:

[ivy:resolve] :: problems summary ::

[ivy:resolve] :::: WARNINGS

[ivy:resolve]   Unable to parse included ivy file
C:\...\master-parent/ivy.xml: unknown protocol: c

[ivy:resolve]

[ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS



Here's the passage in XmlModuleDescriptorParser where this is arising:

            //check on filesystem based on location attribute (for dev ONLY)

            try {

                checkParentModuleOnFilesystem(location);

            } catch (IOException e) {

                Message.warn("Unable to parse included ivy file " +
location + ": "

                    + e.getMessage());

            }



I hope people can agree that showing users a misleading warning message
every time they do an ivy:resolve is a bug worth resolving before there's a
final 2.3.0 release.



I will file a JIRA issue for this. I'm still trying to produce a pared-down
use case for the buildlist+extends issue. Once I have that, I'll produce a
JIRA issue for that.

On Mon, Jun 11, 2012 at 10:07 PM, Mitch Gitman <mgitman@...> wrote:

> I adapted src/example/multi-project in the Ivy distribution to have the
> existing Ivy modules extend a parent ivy.xml. Such as:
> <ivy-module version="1.0">
>     <info
>         organisation="org.apache.ivy.example"
>         module="find"
>         status="integration">
>         <extends organisation="org.apache.ivy.example"
> module="multi-parent" revision="1.0"
>             location="../multi-parent/ivy.xml" />
>     </info>
>
> Both absolute and relative paths worked.
>
> This suggests the problem is on my end. I'm going to try deconstructing
> the failing modules next, but if this rings any bells, I'd be glad to hear.
>
> On Mon, Jun 11, 2012 at 11:13 AM, Mitch Gitman <mgitman@...> wrote:
>
>> I'm using the parent Ivy module feature with the ivy.xml
>> /ivy-module/info/extends element. This works just fine whether I use a
>> relative path or an absolute path for the location attribute that locates
>> the parent ivy.xml. When I go to run ivy:buildlist, however, it only works
>> with the relative path. The moment it encounters an absolute path for the
>> parent location, it fails with:
>> … impossible to parse ivy file for …: ivyfile=…/ivy.xml
>> exception=java.text.ParseException: Problem occurred while parsing ivy
>> file: Unable to
>>  parse included ivy file for …#...;… in file:/…/ivy.xml
>>
>> The exception is being thrown in XmlModuleDescriptorParser, line 422:
>>             if (parent == null) {
>>                 throw new ParseException("Unable to parse included ivy
>> file for "
>>                         + parentOrganisation + "#" + parentModule + ";" +
>> parentRevision, 0);
>>             }
>>
>> I'm seeing this with Ivy 2.2.0. I haven't tried yet to reproduce it with
>> Ivy 2.3.0-rc1.
>>
>> Is anyone familiar with this behavior? Is this a known bug or is there
>> something I'm missing?
>>
>> Depending on what I hear back, I can try creating an isolated, simple use
>> case using both 2.2.0 and 2.3.0-rc1.
>>
>
>