Community
Participate
Working Groups
If a download of a p2 artifact fails erratically (I presume a network problem, because a rebuild fixed the issue), there is no information in the log about the root cause. The message "Could not download artifacts from any repository" could be misunderstood as "the artifact doesn't exist" rather than "the artifact couldn't be transferred". These cases should be distinguished.
With change https://git.eclipse.org/r/#/c/9333/ a failed download will lead to an exception with the full multi-status of the download. For the first failure, even the stack trace of p2 is shown as root cause. Example for a download that failed because both pack200 and canonical format were broken: org.eclipse.tycho.repository.local.MirroringArtifactProvider$MirroringFailedException: Could not mirror artifact osgi.bundle,com.jcraft.jsch,0.1.46.v201205102330 into the local Maven repository: All attempts to read artifact osgi.bundle,com.jcraft.jsch,0.1.46.v201205102330 failed: [An error occurred while transferring artifact osgi.bundle,com.jcraft.jsch,0.1.46.v201205102330 from repository file:/C:/Env/Source/Tycho/tycho-testbed/repository: [An error occurred copying file C:\Env\Source\Tycho\tycho-testbed\repository\plugins\com.jcraft.jsch_0.1.46.v201205102330.jar.pack.gz.]; An error occurred while transferring artifact osgi.bundle,com.jcraft.jsch,0.1.46.v201205102330 from repository file:/C:/Env/Source/Tycho/tycho-testbed/repository: [An error occurred copying file C:\Env\Source\Tycho\tycho-testbed\repository\plugins\com.jcraft.jsch_0.1.46.v201205102330.jar.]] at org.eclipse.tycho.repository.local.MirroringArtifactProvider.downloadArtifact(MirroringArtifactProvider.java:212) at org.eclipse.tycho.repository.local.MirroringArtifactProvider.makeOneFormatLocallyAvailable(MirroringArtifactProvider.java:197) at org.eclipse.tycho.repository.local.MirroringArtifactProvider.makeLocallyAvailable(MirroringArtifactProvider.java:168) at org.eclipse.tycho.repository.local.MirroringArtifactProvider.getArtifactFile(MirroringArtifactProvider.java:112) at org.eclipse.tycho.repository.p2base.artifact.provider.CompositeArtifactProvider.getArtifactFile(CompositeArtifactProvider.java:70) at org.eclipse.tycho.p2.target.TargetPlatformImpl.getLocalArtifactFile(TargetPlatformImpl.java:167) at org.eclipse.tycho.p2.impl.resolver.P2ResolverImpl.addArtifactFile(P2ResolverImpl.java:178) at org.eclipse.tycho.p2.impl.resolver.P2ResolverImpl.toResolutionResult(P2ResolverImpl.java:152) at org.eclipse.tycho.p2.impl.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:133) at org.eclipse.tycho.p2.impl.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:81) at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.doResolvePlatform(P2TargetPlatformResolver.java:374) at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.resolveDependencies(P2TargetPlatformResolver.java:350) at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:109) at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:82) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:273) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) ... 11 more Caused by: java.io.FileNotFoundException: C:\Env\Source\Tycho\tycho-testbed\repository\plugins\com.jcraft.jsch_0.1.46.v201205102330.jar.pack.gz (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.copyFileToStream(SimpleArtifactRepository.java:641) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:666) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:590) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:723) at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnyMirror(RepositoryArtifactProvider.java:168) at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnyFormatAvailableInRepository(RepositoryArtifactProvider.java:151) at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnySource(RepositoryArtifactProvider.java:136) at org.eclipse.tycho.repository.p2base.artifact.provider.CompositeArtifactProviderBaseImpl.getArtifact(CompositeArtifactProviderBaseImpl.java:52) at org.eclipse.tycho.repository.local.MirroringArtifactProvider.downloadCanonicalArtifact(MirroringArtifactProvider.java:231) at org.eclipse.tycho.repository.local.MirroringArtifactProvider.downloadMostSpecificNeededFormatOfArtifact(MirroringArtifactProvider.java:224) at org.eclipse.tycho.repository.local.MirroringArtifactProvider.downloadArtifact(MirroringArtifactProvider.java:208) ... 26 more
This problem is fixed as part of this larger commit: http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=9fa0c707522eb0dcf37be2cec4d6a99d6c9bb484