[
https://issues.apache.org/jira/browse/IVY-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603867#action_12603867
]
Erik-Berndt Scheper commented on IVY-831:
-----------------------------------------
Positive.
If I run "ant coverage-report" when building ivy, I get 26 errors in
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest (all except
testAccept), with the following output:
{noformat}
null download report returned by null when trying to download
org.apache#test;1.0!test.jar(source)
java.lang.IllegalStateException: null download report returned by null when
trying to download org.apache#test;1.0!test.jar(source)
at
org.apache.ivy.plugins.resolver.AbstractResolver.exists(AbstractResolver.java:201)
at
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.addSourcesAndJavadocArtifactsIfPresent(PomModuleDescriptorParser.java:267)
at
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:246)
at
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:104)
at
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest.testSimple(PomModuleDescriptorParserTest.java:89)
{noformat}
Maybe the root cause is in this unit test. It uses the following resolver:
{code:title=PomModuleDescriptorParserTest.java|borderStyle=solid}
private IvySettings settings = new IvySettings();
private class MockedDependencyResolver extends MockResolver {
public ResolvedModuleRevision getDependency(DependencyDescriptor dd,
ResolveData data)
throws ParseException {
//TODO make it a real mock and check that dd and data are the one
that are expected
DefaultModuleDescriptor moduleDesc =
DefaultModuleDescriptor.newDefaultInstance(
dd.getDependencyRevisionId());
ResolvedModuleRevision r = new
ResolvedModuleRevision(this,this,moduleDesc,null);
return r;
}
}
{code}
> NPE in AbstractResolver.exists() if a resource cannot be found
> --------------------------------------------------------------
>
> Key: IVY-831
> URL: https://issues.apache.org/jira/browse/IVY-831
> Project: Ivy
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0-RC1
> Reporter: Erik-Berndt Scheper
> Assignee: Xavier Hanin
> Fix For: 2.0-RC1
>
>
> A NullPointerException occurs
> inAbstractResolver.exists(AbstractResolver.java:196) if a host cannot be found
> Reproducible with "ant coverage-report" behind a firewall with proxy install
> disabled.
> Resulting stack trace:
> {noformat}
> java.lang.NullPointerException
> at
> org.apache.ivy.plugins.resolver.AbstractResolver.exists(AbstractResolver.java:196)
> at
> org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.addSourcesAndJavadocArtifactsIfPresent(PomModuleDescriptorParser.java:267)
> at
> org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:246)
> at
> org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:104)
> at
> org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest.testSimple(PomModuleDescriptorParserTest.java:89)
> {noformat}
> Offending code:
> {noformat}
> /**
> * Default implementation actually download the artifact Subclasses
> should overwrite this to
> * avoid the download
> */
> public boolean exists(Artifact artifact) {
> DownloadReport dr = download(new Artifact[] {artifact}, new
> DownloadOptions());
> ArtifactDownloadReport adr = dr.getArtifactReport(artifact);
> return adr.getDownloadStatus() != DownloadStatus.FAILED;
> }
> {noformat}
> If the DownloadReport instance is null, a NPE occurs
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.