Closed cheister closed 3 weeks ago
Thanks for this @cheister! I tried porting this as a patch and encountered the following error:
WARN org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher - Failed to dispatch repository event to com.github.bazelbuild.rules_jvm_external.resolver.maven.CompoundListener
java.lang.RuntimeException: Unable to determine packaging
at com.github.bazelbuild.rules_jvm_external.resolver.maven.CoordinateGatheringListener.artifactResolved(CoordinateGatheringListener.java:86)
at com.github.bazelbuild.rules_jvm_external.resolver.maven.CompoundListener.lambda$artifactResolved$3(CompoundListener.java:46)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at com.github.bazelbuild.rules_jvm_external.resolver.maven.CompoundListener.artifactResolved(CompoundListener.java:46)
at org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher.dispatch(DefaultRepositoryEventDispatcher.java:120)
at org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher.dispatch(DefaultRepositoryEventDispatcher.java:88)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.artifactResolved(DefaultArtifactResolver.java:669)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads(DefaultArtifactResolver.java:641)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:545)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:449)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:261)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:243)
at org.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:158)
at org.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:204)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:1009)
at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:801)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:327)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:243)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:284)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:175)
at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.resolveCachedArtifactDescriptor(BfDependencyCollector.java:464)
at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.resolveDescriptorForVersion(BfDependencyCollector.java:450)
at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.lambda$resolveArtifactDescriptorAsync$1(BfDependencyCollector.java:417)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.lambda$resolveArtifactDescriptorAsync$4(BfDependencyCollector.java:416)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: UTF-8 BOM plus xml decl of ISO-8859-1 is incompatible (position: START_DOCUMENT seen <?xml version="1.0" encoding="ISO-8859-1"... @1:42)
at org.codehaus.plexus.util.xml.pull.MXParser.parseXmlDeclWithVersion(MXParser.java:3439)
at org.codehaus.plexus.util.xml.pull.MXParser.parseXmlDecl(MXParser.java:3361)
at org.codehaus.plexus.util.xml.pull.MXParser.parsePI(MXParser.java:3213)
at org.codehaus.plexus.util.xml.pull.MXParser.parseProlog(MXParser.java:1828)
at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1757)
at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1375)
Currently: resolving and fetching the transitive closure of 586 artifact(s)
The coordinate that is having ISO-8859-1
is org.hamcrest:hamcrest-core:1.3
.
I also have RJE_UNSAFE_CACHE=1
and I saw a bunch of (might be unrelated):
[ParallelDescriptorResolver-0-9] INFO org.eclipse.aether.internal.impl.DefaultArtifactResolver - Artifact com.github.luben:zstd-jni:pom:1.4.5-6 is present in the local repository, but cached from a remote repository ID that is unavailable in current build context, verifying that is downloadable from [file:///Users/tdesilva/.m2/repository/ (file:///Users/tdesilva/.m2/repository/, default, releases), https://artifactory.com/artifactory/maven/ (https://artifactory.com/artifactory/maven/, default, releases), https://artifactory.com/artifactory/maven-snapshots/ (https://artifactory.com/artifactory/maven-snapshots/, default, releases)]
Nit: can we please have a reduced test case added to ResolverTestBase
too?
The coordinate that is having
ISO-8859-1
isorg.hamcrest:hamcrest-core:1.3
.
I added this test case and included a fix for it as well.
The coordinate that is having
ISO-8859-1
isorg.hamcrest:hamcrest-core:1.3
.I added this test case and included a fix for it as well.
Tested and things are working as expected!! 🔥 Thanks @cheister!!!
Nit: can we please have a reduced test case added to
ResolverTestBase
too?
I wrote some unit tests but I don't think they belong in ResolverTestBase
. I'll merge this PR and open another PR with the proposed unit test changes.
Fix https://github.com/bazelbuild/rules_jvm_external/issues/1144 and https://github.com/bazelbuild/rules_jvm_external/issues/1152