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 <[email protected]> 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 <[email protected]> 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.
>>
>
>